Python爬虫技术的选择

樵夫2021-12-27 14:07

  爬行类是另一个领域,涉及到了很多知识点,不仅要熟悉web开发,有时也要学到机器学习之类的知识,但是Python会变得更简单,还有很多第三方库可以帮助我们完成。用Python编写爬虫程序要先选择合适的模块,最简单的功能就是发送和处理请求,下面介绍几种常用的抓取方法。

Python爬虫技术的选择

  一、Python自带的urlib2和urlib或第三方模块requests。

  此方案适用于简单页面爬行类,如爬取博客园推荐文章等。

  urllib2和urllib是Python自带模块可用于发送处理请求,尽管API更加灵活,但是易用性不太好,所以一般都要二次封装,我曾经做过封装,最终,您会发现自己封装的模块无限接近非常成熟的requests库,因此,或者直接使用requests,当然,requests只是发送和接收请求,在使用lxml或beautifulsoup这样的第三方库进行页面分析。高层抓取不只是发送和处理请求,还需要处理异常,请求速度控制等等,这些都需要我们编写额外的代码来控制,当然我们可以自己写只是时间问题,但是完全没有必要,下面我来介绍第二个方法。

  二、scrapy框架。

  scrapy是最受欢迎的爬虫器,现在我所做的项目,不管复杂与否,都是用scrapy来完成的。例外处理已经封装,并且还有一个第三方的scrapy-redis能够支持分布式、本文将重点放在更重要的页面分析和规则编写上,这些代码可以参考github上的示例。

  scrapy抓取虎嗅网文章: https://github.com/world1234567/scrapy_for_huxiu

  三,Pythonselenium。

  这条途径我叫终极必杀器,一般是真没办法的时候使用,之前在利用某搜索引擎抓到了文章,本搜索引擎采用较高难度的反爬虫机制,并且不断变化让人无法找到规律,其主要特征是cookie在特定页面上随机隐藏了js和图片,这个方法就是模拟浏览器的行为来载入所有诸如js这样的静态资源文件,如果您自己编写浏览器取解析太麻烦,假如chrome浏览器可以打开界面,那么最好是通过chrome加载来获得页面的内容,selenium就是这样,selenium与随机等待时间相结合,可以模拟与人类非常相似的操作行为。其不利之处是速度较慢,但一般爬行动物对抓取速度要求不高,重要的是稳定性,这样的方法对于抓取反爬机制做的好的大型网站比较适用。

  以上就是小编为大家整理发布的“Python爬虫技术的选择”一文,更多相关内容尽在开课吧广场Python教程频道。

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享
全部评论快来秀出你的观点
登录 后可发表观点…
发表
暂无评论,快来抢沙发!
零基础轻松入门Python