Inventus 是一个爬虫,旨在通过爬取特定域名及其发现的任何子域名来查找子域名。它是一个 Scrapy 爬虫,意味着它易于修改和扩展以满足您的需求。
运行 Inventus 前需要安装 Scrapy。首先,克隆仓库并进入目录。
$ git clone https://github.com/nmalcolm/Inventus
$ cd Inventus
然后使用 pip 安装所需依赖。
$ pip install -r requirements.txt
假设安装成功,Inventus 即可使用。
Inventus 最基本的用法如下:
$ cd Inventus
$ scrapy crawl inventus -a domain=facebook.com
这告诉 Scrapy 使用哪个爬虫(此处为 "inventus"),并将域名传递给爬虫。找到的所有子域名将输出到 STDOUT。
另一个自定义参数是 subdomain_limit。该参数设置退出前要发现的子域名最大数量。默认值为 10000,但这不是硬性限制。
$ scrapy crawl inventus -a domain=facebook.com -a subdomain_limit=100
数据可以通过多种方式导出。最简单的方法是将 STDOUT 重定向到文件。
$ scrapy crawl inventus -a domain=facebook.com > facebook.txt
Scrapy 内置的功能允许您将项目导出为多种格式,包括 CSV、JSON 和 XML。目前仅导出子域名,但未来可能会改变。
$ scrapy crawl inventus -a domain=facebook.com -t csv -o Facebook.csv
可以配置 Inventus 的行为方式。默认情况下,Inventus 会忽略 robots.txt,设置 30 秒超时,缓存爬取数据 24 小时,爬取深度为 5,并使用 Scrapy 的 AutoThrottle 扩展。这些以及更多设置都可以通过编辑 inventus_spider/settings.py 文件来更改。Scrapy 的设置也有详尽的文档。
如有以上任何问题,欢迎开启新 issue。Inventus 仅在几小时内构建完成,可能包含错误。您也可以通过 Twitter 与我联系。
基于 MIT 许可证发布。参见 LICENSE 文件。