一个面向python的现代web爬虫框架
cocrawler的Python项目详细描述
cocrawler是一个使用现代工具和 同意。
根据具体情况,抓取网页可能很容易,也可能很难。成熟的 像nutch和heretrix这样的爬虫在很多情况下都很有效 其他方面的不足。一些最苛刻的爬行情况包括 整个网络的开放式爬行。
这个项目的目标是创建一个模块化的可插入爬虫 模块,能够很好地处理各种爬网任务。这个 crawler的核心是使用协同程序用python 3.5+编写的。
状态
Cocrawler是预发行版,正在进行重大重组。它是 目前能够在4上以170兆位/170页/秒的速度爬行 核心机器。
截图:
安装
我们建议您使用pyenv,因为(1)cocrawler需要python 3.5+,和(2)requirements.txt指定了确切的模块版本。
git clone https://github.com/cocrawler/cocrawler.git cd cocrawl make init # will install requirements using pip make pytest make test_coverage
可插入模块
可插入模块做出策略决策,并使用实用程序 保持策略模块简短而甜蜜。
另外一组可插入模块为 数据库。这些数据库主要用于编排 多个爬网进程的协作,使 爬虫程序在多个核心和多个节点上的可伸缩性。
已爬网的web资产旨在存储为warc文件,尽管 这个接口也应该是可插拔的。
排名
大家都知道排名对搜索查询非常重要, 但爬行也很重要。爬最重要的东西 是避免爬行过多webspam,soft 404的最佳方法之一, 和爬虫陷阱页面。
搜索引擎优化是一个价值数十亿美元的游戏搜索引擎产业 排名,任何一个大范围的网络爬行都会遇到 低质量的内容试图显示出高质量。有 Cocrawler的算法几乎不可能超过 复杂的搜索引擎优化技术,但一个小小的排名走了很长的路。
学分
cocrawler借鉴了python 3.4代码中“500行”或 更少“,可在https://github.com/aosabook/500lines找到。它是 同时也深受格雷格在 在Blekko和互联网档案馆工作。
许可证
阿帕奇2.0