乐思网络信息采集系统与开源爬虫软件相比的优点
发布时间:2015-03-02

 

开源爬虫软件

 

Nutch

 

优点:Nutch支持分布式抓取,并有Hadoop支持,可以进行多机分布抓取,存储和索引。另外很吸引人的一点在于,它提供了一种插件框架,使得其对各种网页内容的解析、各种数据的采集、查询、集群、过滤等功能能够方便的进行扩展,正是由于有此框架,使得 Nutch 的插件开发非常容易,第三方的插件也层出不穷,极大的增强了 Nutch 的功能和声誉。

缺点:Nutch的爬虫定制能力比较弱

 

Scrapy

 

优点:为抓取单一网站上固定格式的内容而设计的,比如抓取一个小说网站上的小说或者抓取一个电子商务网站上的商品。结构清晰,可以很方便得修改它来实现更复杂的需求。

缺点:要进行大规模的抓取,可能要修改scrapy以处理如下问题。快速的link extractor。python的SGMLParser实在是太慢了,使用SgmlLinkExtractor会让爬虫把大部分的时间都浪费在解析网页上,最好自己写一个link extractor。也可以用正则表达式来写link extractor,速度快,问题是不理解html语义,会把注释里的链接也包含进来。另外基于javascript重定向url也要在这里提取出来。

爬虫陷阱。 爬虫可能陷入链接引用死循环。

增量抓取。一个针对多个网站的爬虫很难一次性把所有网页爬取下来,并且网页也处于不断更新的状态中,爬取是一个动态的过程,爬虫支持增量的抓取是很必要的。

高效数据存储。抓取的页面多了之后如何存储就成了一个问题,按我们的统计纯html页面的平均大小大概在20~30k之间,百万的页面抓下来之后占用的硬盘空间大概是几十G。ntfs和ext3这些文件系统在小文件过多之后效率都会比较低,需要优化存储效率。

 

Heritrix

 

优点:Heritrix的爬虫定制参数多。

缺点:单实例的爬虫,之间不能进行合作。在有限的机器资源的情况下,却要复杂的操作。只有官方支持,仅仅在Linux上进行了测试。每个爬虫是单独进行工作的,没有对更新进行修订。在硬件和系统失败时,恢复能力很差。很少的时间用来优化性能。相对于Nutch,Heritrix仅仅只是一个爬虫工具,没有提供搜索引擎。如果要对抓取的站点排序必须要实现类似于Pagerank的复杂算法。

 

WebMagic

 

优点:简单,适合小网站抓取。

缺点:用户太少,后续升级能力不强。

 

SpiderMan

 

优点:简单,适合小网站抓取。

缺点:用户太少,后续升级能力不强。Nutch, Scrapy, WebMagic, SpiderMan, Heritrix 都是开发源代码的网页数据爬取工具,最大的优势是免费,源代码可以自由修改。但是使用这类爬虫中间件有几个问题:

 

1.他们对于现在流行的AJAX风格的页面都抓去不到或需要很复杂的配置,因为爬虫中间件都是向网站发送一个请求,通过分析其响应的源代码来获取信息,而AJAX网站一般其内容很可能不在首次直接响应的HTML源代码中,而在其后续的HTTP请求响应中。

2.他们对于信息的精确采集一般通过XPath与正则表达式来提取,而这两种技术比较复杂,难于维护,一般程序员都不会。

3.这类爬虫需要进行较大的修改以适应舆情监测的周期性定向主题聚焦采集的需求,短期内无法保证其完全适合舆情监测的需要,且修改时间成本也较高。

 

乐思软件的优势

 

乐思网络信息采集系统是由国内一家专门做信息采集的公司提供的专业采集系统,不是开源的,属于收费的商业软件,主要是针对任意网站的快速信息采集,除了爬虫技术之外,可以支持各种AJAX技术开发的网站,如新闻,论坛,微博等,还可以用其利用新浪API进行数据采集。

 

乐思软件对于网页的精确采集可以自动进行分析或者只要很少的基于可视化的人为指导—框住需要的数据即可。

 

乐思软件适用面广,且在国内已有一定用户群,有大量采集目标网站的经验,属于成熟软件,虽然收费,但整体上在本舆情系统中应用的成功率大大高于其它开源的爬虫中间件。

 

具体对比表格如下:

 

乐思网络信息采集系统与开源爬虫软件对比图