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

830次阅读
没有评论

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的等待上,所以直接使用协程即可很好地提升抓取速度。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-05-26发表,共计849字。
新手QQ群:570568346,欢迎进群讨论 Python51学习