nodejs可以写爬虫吗?

nodejs是可以写爬虫的。Node.js出现后,爬虫便不再是后台语言如PHP,Python的专利了,尽管在处理大量数据时的表现仍然不如后台语言,但是Node.js异步编程的特性可以让我们在最少的cpu开销下轻松完成高并发的爬取。

另外由于现在许多网站都有了反爬虫手段,对付这些手段最合适的当然是可以在浏览器中直接运行的JS,这也使得基于Node.js的爬虫技术越来越受重视。

node做爬虫的优势:

第一个就是他的驱动语言是JavaScript。JavaScript在nodejs诞生之前是运行在浏览器上的脚本语言,其优势就是对网页上的dom元素进行操作,在网页操作上这是别的语言无法比拟的。

第二就是nodejs是单线程异步的,一个页面未返回不会阻塞其它页面加载。

node做爬虫的劣势:

首先是异步并发上。处理的好很方便,处理的不好就会很麻烦。例如要爬取10个页面,用node不做异步处理话,那返回的结果可不一定是按1、2、3、4……这个顺序,很可能是随机。解决的办法就是增加一个页面的序列戳,让爬取的数据生成csv文件,然后重新排序。

第二个是数据处理上的劣势,这点是不如python的,如果只是单纯的爬数据,用node当然很好,但是如果用爬来的数据继续做统计分析,做个回归分析聚类啥的话,那就不能用node一步到底了。

以上就是nodejs可以写爬虫吗?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读