Python,Node.js 哪个比较适合写爬虫

如题所述

简单的定向爬取:
Python + urlib2 + RegExp + bs4
或者
Node.js + co,任一一款dom框架或者html parser + Request + RegExp 撸起来也是很顺手。
对我来说上面两个选择差不多是等价的,但主要我JS比较熟,现在选择Node平台会多一些。

上规模的整站爬取:
Python + Scrapy
如果说上面两个方案里DIY 的 spider是小米加步枪,那Scrapy简直就是重工加农炮,好用到不行,自定义爬取规则,http错误处理,XPath,RPC,Pipeline机制等等等。而且,由于Scrapy是基于Twisted实现的,所以同时兼顾有非常好的效率,相对来说唯一的缺点就是安装比较麻烦,依赖也比较多,我还算是比较新的osx,一样没办法直接pip install scrapy

另外如果在spider中引入xpath的话,再在chrome上安装xpath的插件,那么解析路径一目了然,开发效率奇高。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-07-30
NodeJS:对一些垂直网站爬取倒可以,但由于分布式爬取、消息通讯等支持较弱,根据自己情况判断。 Python:强烈建议,对以上问题都有较好支持。尤其是Scrapy框架值得作为第一选择。优点诸多:支持xpath;基于twisted,性能不错;有较好的调试工具; 此种情况下,如果还需要做js动态内容的解析,casperjs就不适合了,只有基于诸如chrome V8引擎之类自己做js引擎。
第2个回答  2016-12-20
最好的爬虫语言是前嗅的ForeSpider爬虫脚本语言。是一门专门的爬虫脚本语言,而不是爬虫框架,可以用简单几行代码,实现非常强大的爬虫功能。
ForeSpider是可视化的通用性采集软件,同时内置了强大的爬虫脚本语言。如果有通过可视化采集不到的内容,都可以通过简单几行代码,实现强大的脚本采集。软件同时支持正则表达式操作,可以通过可视化、正则、脚本任意方式,实现对数据的清洗、规范。

对于一些高难度的网站,反爬虫措施比较多,可以使用ForeSpider内部自带的爬虫脚本语言系统,简单几行代码就可以采集到高难度的网站。比如国家自然基金会网站、全国企业信息公示系统等,最高难度的网站完全没有问题。
在通用性爬虫中,ForeSpider爬虫的采集速度和采集能力是最强的,支持登录、Cookie、Post、https、验证码、JS、Ajax、关键词搜索等等技术的采集,采集效率在普通台式机上,可以达到500万条数据/每天。这样的采集速度是一般的通用性爬虫的8到10倍。
对于大量的网站采集需求而言,ForeSpider爬虫可以在规则模板固定之后,开启定时采集。支持数据多次清洗。
对于关键词搜索的需求而言,ForeSpider爬虫支持关键词搜索和数据挖掘功能,自带关键词库和数据挖掘字典,可以有效采集关键词相关的内容。
可以去下载免费版,免费版不限制采集功能。有详细的操作手册可以学习。
第3个回答  2016-12-17
看你更熟悉哪一个咯
相似回答