网站爬网机器人

NightCrawler的Python项目详细描述


说明

NightCrawler是一个站点爬行/蜘蛛工具,通过遍历来收集给定域的链接 整个站点并生成简单的站点地图。

限制

这些工具只是一个演示。它是一个单线程脚本,可以遍历它得到的每一页, 没有优化速度。

该脚本坚持提供的url,而不深入到给定域的子域中 即使遇到内部重定向,如www.example.com

可能的增强功能

  • 对线程池使用多线程
  • 使用生成器可以减少内存占用并提高速度
  • 提出初步的head请求以区分文本文件和二进制文件
  • 检查内容类型并排除非HTMLs的文件
  • 添加匹配器和站点地图生成器以获得额外的站点地图风格(图像、视频等)
  • 更多测试(已包含的测试仅适用于最关键的类)

安装

一。要求

  1. 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>

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JMSTemplate检查主题是否存在并获取订户计数   选项卡中的java JavaFX窗格   java camel是否对文件使用隐式读锁?   java数字[x]给出了不正确的输出,我不明白为什么   java Java2D图形仅通过OpenGL管道渲染   java如何解析一个整数,当我有一个double的格式时?   java Android动画图片更改   java在按用户定义类型过滤时如何在jooq中形成where子句   java Nullcheck检查先前在Sonar中取消引用的值的第114行的状态   java显示Thymeleaf循环中的ArrayList内容   java ApachePOI即使在执行fileoutputstream之后也不保存excel工作簿。关闭()   java listNode公共方法不访问私有数据成员   尝试模拟静态(不兼容的依赖项)时出现java NoClassDefFoundError或NoSuchMethodError   JavaSelenium自动元素单击返回null   将javaee WAR部署到ColdFusion服务器(用于混合Java ColdFusion应用程序)