世界上已经成型的爬虫软件多达上百种,本文对较为知名及常见的开源爬虫软件进行梳理,按开发语言进行汇总,如下表所示。

虽然搜索引擎也有爬虫,但本次我汇总的只是爬虫软件,而非大型、复杂的搜索引擎,因为很多兄弟只是想爬取数据,而非运营一个搜索引擎。

 

开源爬虫汇总表

开发语言

软件名称

软件介绍

许可证

Java

Arachnid

微型爬虫框架,含有一个小型HTML解析器

GPL

crawlzilla

安装简易,拥有中文分词功能

Apache2

Ex-Crawler

由守护进程执行,使用数据库存储网页信息

GPLv3

Heritrix

严格遵照robots文件的排除指示和META robots标签

LGPL

heyDr

轻量级开源多线程垂直检索爬虫框架

GPLv3

ItSucks

提供swing GUI操作界面

不详

jcrawl

轻量、性能优良,可以从网页抓取各种类型的文件

Apache

JSpider

功能强大,容易扩展

LGPL

Leopdo

包括全文和分类垂直搜索,以及分词系统

Apache

MetaSeeker

网页抓取、信息提取、数据抽取工具包,操作简单

不详

Playfish

通过XML配置文件实现高度可定制性与可扩展性

MIT

Spiderman

灵活、扩展性强,微内核+插件式架构,通过简单的配置就可以完成数据抓取,无需编写一句代码

Apache

webmagic

功能覆盖整个爬虫生命周期,使用Xpath和正则表达式进行链接和内容的提取

Apache

Web-Harvest

运用XSLT、XQuery、正则表达式等技术来实现对Text或XML的操作,具有可视化的界面

BSD

WebSPHINX

由两部分组成:爬虫工作平台和WebSPHINX类包

Apache

YaCy

基于P2P的分布式Web搜索引擎

GPL

Python

QuickRecon

具有查找子域名名称、收集电子邮件地址并寻找人际关系等功能

GPLv3

PyRailgun

简洁、轻量、高效的网页抓取框架

MIT

Scrapy

基于Twisted的异步处理框架,文档齐全

BSD

C++

hispider

支持多机分布式下载, 支持网站定向下载

BSD

larbin

高性能的爬虫软件,只负责抓取不负责解析

GPL

Methabot

经过速度优化、可抓取WEB、FTP及本地文件系统

不详

Methanol

模块化、可定制的网页爬虫,速度快

不详

C#

NWebCrawler

统计信息、执行过程可视化

GPLv2

Sinawler

国内第一个针对微博数据的爬虫程序,功能强大

GPLv3

spidernet

以递归树为模型的多线程web爬虫程序,支持以GBK (gb2312)和utf8编码的资源,使用sqlite存储数据

MIT

Web Crawler

多线程,支持抓取PDF/DOC/EXCEL等文档来源

LGPL

网络矿工

功能丰富,毫不逊色于商业软件

BSD

PHP

OpenWebSpider

开源多线程网络爬虫,有许多有趣的功能

不详

PhpDig

适用于专业化强、层次更深的个性化搜索引擎

GPL

Snoopy

具有采集网页内容、提交表单功能

GPL

ThinkUp

采集推特、脸谱等社交网络数据的社会媒体视角引擎,可进行交互分析并将结果以可视化形式展现

GPL

微购

可采集淘宝、京东、当当等300多家电子商务数据

GPL

ErLang

Ebot

可伸缩的分布式网页爬虫

GPLv3

Ruby

Spidr

可将一个或多个网站、某个链接完全抓取到本地

MIT

 

搜索引擎 Nutch

Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。

尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步演变成为一个公司垄断了几乎所有的web搜索为其谋取商业利益.这显然 不利于广大Internet用户.

Nutch为我们提供了这样一个不同的选择. 相对于那些商用的搜索引擎, Nutch作为开放源代码 搜索引擎将会更加透明, 从而更值得大家信赖. 现在所有主要的搜索引擎都采用私有的排序算法, 而不会解释为什么一个网页会排在一个特定的位置. 除此之外, 有的搜索引擎依照网站所付的 费用, 而不是根据它们本身的价值进行排序. 与它们不同, Nucth没有什么需要隐瞒, 也没有 动机去扭曲搜索的结果. Nutch将尽自己最大的努力为用户提供最好的搜索结果.

Nutch 致力于让每个人能很容易, 同时花费很少就可以配置世界一流的Web搜索引擎. 为了完成这一宏伟的目标, Nutch必须能够做到:

  • 每个月取几十亿网页

  • 为这些网页维护一个索引

  • 对索引文件进行每秒上千次的搜索

  • 提供高质量的搜索结果

  • 以最小的成本运作

 

原文: ChinaUnix

 

 

参考推荐

Python框架、库资源大全

13个最受欢迎的Python开源框架

网络爬虫工程师被企业劝退的经历

Python金融股票爬虫实战源码大全

常见的量化策略框架,学习量化炒股