技术文章 > Python技术 > Python基础 > 正文

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学习网教学中心

免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 Python爬虫入门学习路线
 经典必备之Python爬虫入门(一)
 Python爬虫入门:爬取51job(Xpath)
 最简单明了的Python爬虫入门思路
相关视频章节
 Python爬虫基础
 Python爬虫的基本原理
作者信息

小妮浅浅

认证0级讲师

最近文章
推荐视频
视频教程分类