一个面向python的现代web爬虫框架

cocrawler的Python项目详细描述


Build StatusCoverage StatusApache License 2.0

cocrawler是一个使用现代工具和 同意。

根据具体情况,抓取网页可能很容易,也可能很难。成熟的 像nutch和heretrix这样的爬虫在很多情况下都很有效 其他方面的不足。一些最苛刻的爬行情况包括 整个网络的开放式爬行。

这个项目的目标是创建一个模块化的可插入爬虫 模块,能够很好地处理各种爬网任务。这个 crawler的核心是使用协同程序用python 3.5+编写的。

状态

Cocrawler是预发行版,正在进行重大重组。它是 目前能够在4上以170兆位/170页/秒的速度爬行 核心机器。

截图:Screenshot

安装

我们建议您使用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

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

推荐PyPI第三方库


热门话题
在Java中运行时在两个枚举类之间切换   java如何让PicoContainer启动/停止/处置工厂注入的组件?   带有Recyclerview onClick的java多活动   java如何从TestNG tests和Selenium接口调用默认方法?   java无法在Eclipse3.5.2中折叠注释   RR和SJF CPU调度算法的Java代码   java从属性文件配置记录器   java Notify传输在字符更改后超过20个字节完成   java阵列究竟是如何工作的   java跨类/包维护全局但可变的变量   java向setMessageListener注册侦听器服务   java按钮单击不在片段中工作   java GSSExException:使用spnego在GSSAPI上未指定故障(机制级别:不支持/启用带有HMAC SHA196的加密类型AES256CTS模式)   用java绘制虚线的图形   java从networkdrive启动windows捆绑包使用不包括JRE?   多线程java线程体系结构与应用程序设计