网站爬网机器人
NightCrawler的Python项目详细描述
说明
NightCrawler是一个站点爬行/蜘蛛工具,通过遍历来收集给定域的链接 整个站点并生成简单的站点地图。
限制
这些工具只是一个演示。它是一个单线程脚本,可以遍历它得到的每一页, 没有优化速度。
该脚本坚持提供的url,而不深入到给定域的子域中 即使遇到内部重定向,如www.example.com
可能的增强功能
- 对线程池使用多线程
- 使用生成器可以减少内存占用并提高速度
- 提出初步的head请求以区分文本文件和二进制文件
- 检查内容类型并排除非HTMLs的文件
- 添加匹配器和站点地图生成器以获得额外的站点地图风格(图像、视频等)
- 更多测试(已包含的测试仅适用于最关键的类)
安装
一。要求
- python=3.2
- 点
2a.不带Virtualenv的安装
在shell中运行以下命令:
pip install NightCrawler
2b.安装在virtualenv
在shell中运行以下命令:
virtualenv .env . .env/bin/activate pip install NightCrawler
2c.源安装(开发)
要从源安装软件包,必须在克隆存储库之后创建virtualenv
git clone https://github.com/szczad/NightCrawler.git
cd NightCrawler
virtualenv .env
. .env/bin/activate
pip install -e ./
三。(可选)测试
在开发模式下从源代码安装脚本时,可以使用以下命令进行测试
. .env/bin/activate
python setup.py test
运行脚本
0个。帮助
nightcrawler --help
一。运行全局安装的脚本
nightcrawler <url|domain>
2.运行安装在virtualenv
中的脚本<path_to_virtualenv>/bin/nightcrawler <url|domain>
或
. .env/bin/activate
nightcrawler <url|domain>