经常游弋在互联网爬虫行业的程序员来说,如何快速的实现程序自动化,高效化都是自身技术的一种沉淀的结果,那么使用Python爬虫都会需要那些数据库支持?下文就是有关于我经常使用的库的一些见解。
请求库:
1、urllib:urllib库是Python3自带的库(Python2有urllib和urllib2,到了Python3统一为urllib),这个库是爬虫里最简单的库。
2、requests:requests属于第三方库,使用起来比urllib要简单不少,且功能更加强大,是最常用的请求库。
3、Selenium:Selenium属于第三方库,它是一个自动化测试工具,可以利用它自动完成浏览器的操作,如点击,下拉,拖拽等等,通常完成ajax复杂的操作。
解析库:
1、lxml:属于第三方库,支持HTML和xml的解析,支持XPath的解析方式,解析效率非常高。
2、Beautiful Soup:属于第三方库,API强大,使用也方便。
3、pyquery:属于第三方库,功能强大在于css选择器上,对jQuery比较了解的话使用pyquery将会十分方便,因此我也比较推荐使用pyquery。
存储库:
1、PyMySQL:MySQL作为最常用的数据库之一,PyMySQL也是爬虫后存储数据的非常好的选择,它可以实现对数据库的创建表,增删查改等操作。
2、PyMongo:PyMongo是和MongoDB进行交互的库。
3、redis-py:redis-py是和Redis进行交互的库。
图像识别库:
1、tesserocr:tesserocr是Python使用OCR技术来识别图像,本质是对tesseract做一层API的封装,所以在安装tesserocr之前必须先安装tesseract。
爬虫框架
1、pyspider:pyspider 是由国人 binux 编写的强大的网络爬虫系统,它带有强大的 WebUI、脚本编辑器、任务监控器、项目管理以及结果处理器,它支持多种数据库后端、多种消息队列、JavaScript 渲染页面的爬取。依赖库有PhantomJS。
2、Scrapy:功能极其强大,依赖库较多。