python入门:对比其他开发工具写爬虫的区别

python入门:对比其他开发工具写爬虫的区别,第1张

python入门:对比其他开发工具写爬虫的区别

小编还记得最早需要自己做一个大的决定,还是在高中文理分科的时候。毕竟选择了之后,就是两个不同的方向。在入门编程后,选择哪一个开发工具也是众多小伙伴需要思考的问题。小编在这里也不做推荐,通过一些对比让大家体会不同开发工具写爬虫的区别,然后再做出决定。


只要从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学习推荐:PyThon学习网教学中心。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3014440.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-28
下一篇 2022-09-28

发表评论

登录后才能评论

评论列表(0条)

保存