注册
登录
提问时间:2018/9/19 9:57:57    楼主:未知网友   阅读量:452

一、hispider

严格说只能是一个spider系统的框架, 没有细化需求, 目前只是能提取URL, URL排重, 异步DNS解析, 队列化任务, 支持N机分布式下载, 支持网站定向下载(需要配置hispiderd.ini whitelist)。

1、特征和用法:

a、基于unix/linux系统的开发

b、异步DNS解析

c、URL排重

d、支持HTTP 压缩编码传输 gzip/deflate

e、字符集判断自动转换成UTF-8编码

f、文档压缩存储

g、支持多下载节点分布式下载

h、支持网站定向下载(需要配置 hispiderd.ini whitelist )

i、可通过 http://127.0.0.1:3721/ 查看下载情况统计,下载任务控制(可停止和恢复任务)

j、依赖基本通信库libevbase 和 libsbase (安装的时候需要先安装这个两个库)

2、工作流程:

a、从中心节点取URL(包括URL对应的任务号, IP和port,也可能需要自己解析)。

b、连接服务器发送请求。

c、等待数据头判断是否需要的数据(目前主要取text类型的数据)。

d、等待完成数据(有length头的直接等待说明长度的数据否则等待比较大的数字然后设置超时)。

e、数据完成或者超时, zlib压缩数据返回给中心服务器,数据可能包括自己解析DNS信息, 压缩后数据长度+压缩后数据, 如果出错就直接返回任务号以及相关信息。

f、中心服务器收到带有任务号的数据, 查看是否包括数据, 如果没有数据直接置任务号对应的状态为错误, 如果有数据提取数据种link 然后存储数据到文档文件。

g、完成后返回一个新的任务。

授权协议: BSD

开发语言: C/C++

操作系统: Linux

特点:支持多机分布式下载, 支持网站定向下载。

二、larbin

larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人 Sébastien Ailleret独立开发。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎提供广泛的数据来源。Larbin只是一个爬虫,也就 是说larbin只抓取网页,至于如何parse的事情则由用户自己完成。另外,如何存储到数据库以及建立索引的事情 larbin也不提供。一个简单的larbin的爬虫可以每天获取500万的网页。

利用larbin,我们可以轻易的获取/确定单个网站的所有链接,甚至可以镜像一个网站;也可以用它建立url 列表群,例如针对所有的网页进行 url retrive后,进行xml的联结的获取。或者是 mp3,或者定制larbin,可以作为搜索引擎的信息的来源。

授权协议: GPL

开发语言: C/C++

操作系统: Linux

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

三、Methabot

Methabot 是一个经过速度优化的高可配置的 WEB、FTP、本地文件系统的爬虫软件。

授权协议: 未知

开发语言: C/C++

操作系统: Windows Linux

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