分类: 网络与安全
2014-05-02 15:06:31
考虑到垂直爬虫及站内搜索的重要性,重新思考一下项目爬虫的技术架构及实现方案。以前的垂直爬虫曾经使用过heritrix、htmlparser、 nutch等,各有优缺点。尤其是要做垂直网站的定向爬取时候,并没有太好的方案,只能够做指定页面的定向解析,因此以前主要还是使用的方案。
考察垂直爬虫的几个原则:
厌烦了基于java的爬虫方案,尤其是考虑到python在网络编程上的易用性,因此打算考察基于python做新版本爬虫的可行性,刚好把久不使用的python捡起来。
整理了一下目前基于python的crawler,大致有如下一些现成的项目方案可供参考:
Mechanize:
Twill:
Scrapy:
HarvestMan:
Ruya:
BeautifulSoup + urllib2:
比较之后,选择Scrapy作为重点考察学习对象,尽管没有Mechanize及Harvestman成熟,但从其架构来看,还是很有前途的,尤其是基于twisted高性能框架的架构,很有吸引力。