《海量数据处理》课程作业,搜寻“不同标准的”“最好用”的开源爬虫库及软件。取之于CSDN,用之于CSDN。
定义“最好用”
站在一个外行人的角度,考虑到这些开源软件能够公开地被大家获取,那么经过足够长的时间之后,最受欢迎,或者说流行程度最高的往往是“最好用的”,至少是比较好用的。因此首先将流行度作为搜索的要素。
搜索过程及结果
- 在谷歌检索”best open source web crawler”以及”top web crawler”
比较各自前10条搜索结果,发现以下爬虫库或软件出现频率最高:- Scrapy (Python)
- Nutch (Java)
- Heritrix (Java)
- Gecco (Java)
- Pyspider (Python)
……
- 在百度检索“开源 爬虫 site:csdn.net”和“开源 爬虫 site:zhihu.com”,可以看到与谷歌搜索相似的结果。因此暂将上述软件作为建议的结果。
分析
根据这篇文章的描述,选择“最好用”的开源爬虫软件时考虑的因素包括:
- 伸缩性
必须在大数据量下仍然表现良好 - 健壮性
必须足够稳定,不会因偶尔返回的异常而停止工作 - 分布式适用
字面意思 - 可扩展性
即使有了新的数据格式,或是新的协议,爬虫应该易于适应 - 数据传输格式
根据自己的需要来,尽可能选有多种输出的 - 数据质量
虽然最后要自己清洗,尽量选结果容易清洗的吧 - 礼貌
不得损害你要爬取的对象
根据以上结果重新定义“最好用”:在上述方面表现优秀并最贴合你需求的软件,可以称得上是“最好用”的。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!