python

当前位置:中华考试网 >> python >> python编程基础 >> 文章内容

python编程基础:对比其他开发工具写爬虫的区别

来源:中华考试网  [2020年11月20日]  【

  在入门编程后,选择哪一个开发工具也是众多小伙伴需要思考的问题。小编在这里也不做推荐,通过一些对比让大家体会不同开发工具写爬虫的区别,然后再做出决定。

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

责编:fushihao

上一篇:python3怎样用re分离出字符串?

下一篇: 没有了

  • 会计考试
  • 建筑工程
  • 职业资格
  • 医药考试
  • 外语考试
  • 学历考试