小编还记得最早需要自己做一个大的决定,还是在高中文理分科的时候。毕竟选择了之后,就是两个不同的方向。在入门编程后,选择哪一个开发工具也是众多小伙伴需要思考的问题。小编在这里也不做推荐,通过一些对比让大家体会不同开发工具写爬虫的区别,然后再做出决定。
只要从php, Python, Node.js 几个方向讨论
1.对页面的解析能力
2.对数据库的操作能力(mysql)
3.爬取效率
4.代码量
1. 对页面的解析能力
关于这一条,基本上就是靠特定语言的第三方包来完成网页的解析。如果要从零开始自己实现一个HTML解析器,难度和时间上的阻碍都是很大的。而对于复杂的基于大量Javascript运算生成的网页或者请求,则可以通过调度浏览器环境来完成。这一条上,Python是绝对胜任的。
2. 对数据库的操作能力(mysql)
对数据库的操作能力上,Python有官方及第三方的连接库。另外,对于爬虫抓取的数据,存储在NoSQL型数据库个人认为更加合适。
3. 爬取效率
确实脚本语言的运算速度不高,但是相对于特定网站反爬虫机制强度以及网络IO的速度,这几门语言的速度诧异都可以忽略不计,而在于开发者的水平。如果利用好发送网络请求的等待时间处理另外的事情(多线程、多进程或者协程),那么各语言效率上是不成问题的。
4. 代码量
这一点上Python是占有优势的,众所周知Python代码简洁著称,只要开发者水平到位,Python代码可以像伪代码一样简洁易懂,且代码量较低。
推荐语言时说明所需类库或者框架,谢谢。比如:python+MySQLdb+urllib2+rePython: requests + MongoDB + BeautifulSoup
ps:其实不太喜欢用python(可能是在windows平台的原因,需要各种转字符编码,而且多线程貌似很鸡肋。)
由于GIL的存在,Python的多线程确实没有利用到多核的优势,对此你可以使用多进程解决。但是对于爬虫,更多的时间在于网络IO的等待上,所以直接使用协程即可很好地提升抓取速度。
看完以上4种方面的比较,相信小伙伴们心里已经有了答案。不过作为python的忠实爱好者,小编还是要投python一票~更多Python学习推荐:起源地模板网教学中心。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!