Python,Node.js 哪个比较适合写爬虫
先说优势:网上抓取和解析html的框架一抓一大把,各种工具直接拿来用就行了,比较省心。缺点:首先速度/效率很成问题,有一次下载电影海报的时候,由于是crontab定期执行,也没做优化,开的php进程太多,直接把内存撑爆了。然后语法方面也很拖沓,各种关键字 符号锋穗 太多,不够简洁,给人一种没有认真设计过的感觉,写起来很麻烦。
Node.js
Node.js。优点是效率、效率还是效率,由于网络是异步的,所尘竖以基本如同几百个进程并发一样强大,内存和CPU占用非常小,如果没有对抓取来的数据进行复杂的运算加工,那么系统的瓶颈基本就在带宽和写入MySQL等数据库的I/O速度。当然,优点的反面也是缺点,异步网络代表你需要callback,这时候如果业务需求是线性了,比如必须等待上一个页面抓取完成后,拿到数据,才能进行下一个页面的抓取,甚至多层的依赖关系,那就会出现可怕的多层callback!基本这时候,代码结构和逻辑就会一团乱麻。当然可以用Step等流程控制工具解决这些问题。
Python
最后说Python。如果你对效率没有极端的要求,那么推荐用Python!首先,Python的语法很简洁,同样的语句,可以少敲很多次键盘。然后,Python非常适合做数据的处理,比如函数参数的打包解包,银兄卜列表解析,矩阵处理,非常方便。
Python更加实用
1、在日常做爬虫的时候,我更加倾向于Python,使用Python做爬虫有以下几个优点。
2、语言简洁,使用起来得心应手
3、使用方便,不需要笨重的IDE,Python只需要一个sublime text
4、强大的http库以及html解释器:requests、lxml、beautifulsoup
5、手到擒来的爬虫框架:Scrapy
6、 十分擅长做文本处理字符串处理