开源爬虫对比

测试网址

tspider

  • 基于 CasperJS 和 PhantomJS,可以自动渲染网页、动态解析 js,支持 ajax 和各类前端交互。
  • 核心爬虫部分使用js编写,外部调度器用Python实现

  • 数据库使用:redis、mongodb

  • 优点:支持form表单,支持各种 on * 交互事件,多线程,支持cookie,防登出,过滤广告静态资源,支持同域iframe,参数去重, 支持最大抓去限制。

爬取测试去重后结果(总请求/POST请求)。

爬虫 编码测试 H5测试 电商测试 政务测试 银行测试 新闻测试
Tspider 121:19/9min 216:0/8min 1162:119/38min 127/POST:32/8min 1044:1/9min 237:3/5min
Vulscan 1 244/42s 2000+/4min40s 1 1530/2min25s 1

vulscan

  • 基于 gevent 和多线程模型,支持 WebKit 引擎的动态爬虫框架。
  • python

  • 不进行存储

  • 优点:多线程、支持 Webkit 引擎 (dom parse,ajax fetch,etc…)、最大爬取深度限制、最大抓取限制、同域限制、支持Cookie。

pyspider

  • 具有脚本编辑器、任务监视器、项目管理器和结果查看器的WebUI。
  • python

  • MySQL, MongoDB, Redis, SQLite, Elasticsearch, PostgreSQL

  • 优点:根据需求定制脚本、功能强大、灵活、稳定,支持js。

pyrailgun

  • 配置型爬虫、python库
  • python

  • 优点:支持从 json 文件读取抓取任务、通配符和多页码抓取、参数暂存和传递 深度抓取

python-goose

  • 文章提取器,支持js
  • python

  • 优点:页面解析做的较好

  • 缺点:单页爬虫,使用时需修改较多,不推荐

heritrix

  • 非常完善的爬虫,功能强大
  • java

web-crawler

  • 二进制文件爬取器、主要用来下载图片文本等
  • python
  • 优点:配置文件后缀进行爬取

scrapy-slpash

  • 用splash作为js渲染服务,和scrapy整合。
  • splash是基于 Twisted 和 QT 开发的轻量浏览器引擎,并且提供直接的 http api。快速、轻量的特点使其容易进行分布式开发。
  • python
  • 需要自己扩展

gplus_spider

  • 基于scrapy的爬虫。逻辑简单。

效果对比

功能点 Tspider pyspider python-goose vulscan
支持form表单
支持js渲染
get/post 95/32
规则可定制
支持Cookie
全网页
Python/Security<br>程序媛<br><br>小狐狸.