工欲善其事必先利其器,Python之所以流行在于它有非常丰富的第三方包,无论是Web框架还是机器学习框架、抑或是爬虫框架,多得让人眼花缭乱,这给了开发者极大的选择性,这是其它语言没法企及的。今天小编就来推荐6个牛逼的爬虫利器,助你轻松搞定爬虫。
1、Requests
Requests是一个HTTP请求库,完美体现了Python简单、优雅、易勇的编程哲学,开发者经常拿它的源代码作为参考,是不可多得的源代码学习资料。官网地址:
http://docs.python-requests.org/en/master/
2、BeautifulSoup
如果说 Requests 是最好的 HTTP 请求库,那么 BeautifulSoup 就是最好的 HTML 解析库,HTML 文档返回之后需要解析,我们可以用 BeautifulSoup 解析,它的API对程序员来说非常友好、用起来简单,API非常人性化,支持css选择器,有人说它的速度慢,在数据量并不是特别的情况下,其实没人care,人力成本可以机器成本高多了。官方地址:
https://www.crummy.com/software/BeautifulSoup/bs4/doc/
3、Fiddler
Fiddler 本质上不是爬数据的,而是一个爬虫辅助工具,在分析爬虫的请求时,有时候仅仅依靠浏览器来跟踪请求力量太显单薄了,特别是针对移动设备的爬虫束手无策,Fiddler 简直就是移动设备上爬虫的克星,手机上如何HTTP请求都可以被Fiddler监控,有了它,再也不要担心爬不到手机上的数据了。官网:
https://www.telerik.com/fiddler
4、Selenium
当你无法通过Requests获取数据时,换一种方案用Selenium,Selenium 是什么?本身是自动化测试工具。如果你在浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面的测试,当然也可以用于爬虫。比如自动打开百度:
5、Tesseract
Tesseract 是一个文字识别工具,在一些复杂的爬虫情景下,服务器的反爬虫需要用户输入验证码才能进行下一步操作,而 Tesseract 可以自动识别出验证码,如果你懂一点机器学习算法,自己训练一套数据,就算12306这样的验证码也不是什么难事。GtiHub地址:
https://github.com/tesseract-ocr/tesseract
6、Scrapy
写爬虫用Requests只能是搞搞小项目,适合刚入门的小白学习或者是简单的业务场景,如果是做大规模爬虫,Scrapy 的效率、性能都是工业级别的,你无需自己造轮子。分布式爬虫就用Scrapy。
(完)
【Python那些事】想对你说:
今天是2017年的最后一天,感谢大家一如既往的支持,你们的支持是我努力坚持的动力。在这一年里,有人赞赏,有人质疑,但幸运的是,我努力坚持下来了。感谢你们,感谢你们的支持!
再见,2017,与往事干杯。你好,2018,继续风雨兼程!
大家有什么新年梦想呢?有什么新的Python学习计划呢?可以在留言区写下自己的新年梦想或者学习计划,没准就能顺利实现了呢!
看完本文有收获?请转发分享给更多人
关注「Python那些事」,做全栈开发工程师
领取专属 10元无门槛券
私享最新 技术干货