常用爬虫框架及优劣
分布式爬虫:Apache的Nutch,Nutch依赖hadoop运行,hadoop本身会消耗很多的时间。如果集群机器数量较少,爬取速度反而不如单机爬虫快。
JAVA单机爬虫:Crawler4j、WebMagic、WebCollector
非JAVA单机爬虫:scrapy
python内置的urllib2,也可以用requests
Beautiful Soup 缺点:不能加载JS
Scrapy 支持自定义Item,pipeline数据管道,用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。但是对于稍微复杂一点的页面,如weibo的页面信息,这个框架就满足不了需求了。
mechanize 优点:可以加载JS。缺点:文档严重缺失。
selenium 这是一个调用浏览器的driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。
cola 个分布式爬虫框架。项目整体设计有点糟,模块间耦合度较高,不过值得借鉴。
得其时横刀天下,不得其时蓬头而行