爬虫是不是用 Node.js 更好?

最近玩爬虫,而我要爬的是http://xxx/ {id},这样的,不是抓到一个网页然后通过超链接再抓的那种。Node.js 天生异步的特性,适合这种循…
关注者
179
被浏览
130,919

29 个回答

爬虫这种东西太简单了,用什么语言都一样,同步异步也没有特别大的差别,如果要做到搜索引擎那种级别的收录,靠的是架构,也不靠语言。

Node.js当然适合做爬虫,当然Python同样也适合。你所遭遇的问题充其量只是个程序逻辑问题,而不是语言问题。Nodejs做爬虫最大的优势大概在于更容易接入诸如phantomjs/casperjs来搞一些更自动化的针对动态加载内容的爬取(当然Python也行,只不过没那么原生)。单纯只是爬个数据,解析一下DOM,无论Php还是Java还是C++还是C#甚至是VBS都一样能玩得顺溜,代码量也不见得就会特别大。

目前,Python做爬虫更多一些,一方面可能是因为诸如Scrapy这样的总体分布框架更加完善而久经考验,而另一方面,爬下来的数据若不是自己做玩具,更多的情况下还需要做清洗、分析等相关工作,而不是闭眼存文件/数据库。这些数据处理相关环节中,Python的生态要比Node好太多。