python爬虫——开发环境的配置

一、开发环境的配置
爬虫可简单分为几步:抓取页面、分析页面、存储数据
1、请求库的安装
抓取页面时,需要模拟浏览器向服务器发出请求,需要用python库实现HTTP请求操作。
第三方库有:

  • requests 阻塞式HTTP请求库
  • Selenium 自动化测试工具,可驱动浏览器执行点击、下拉等操作,对JavaScript渲染的页面抓取十分有效。
  • Chrome及ChromeDriver驱动 Selenium需要浏览器配合,只有安装ChromeDriver才能驱动Chrome浏览器完成操作。 或者安装Firefox及GeckoDriver驱动
  • PhantomJS 无界面、可脚本编程的浏览器引擎。
  • aiohttp 异步请求库,效率高,比如维护一个代理池时,利用异步检测大量代理的运行状况,会极大提高效率。

2、解析库的安装

  • lxml python的解析库,支持HTML和XML解析,支持XPath解析方式
  • Beautiful Soup 拥有强大的API 和多样的解析方式
  • pyquery 提供类似jQuery的语法解析HTML 文档,支持CSS 选择器
  • tesserocr OCR 识别库,OCR 即Optical Character Recognition,光学字符识别,扫描字符,将其形状翻译成电子文本。 tesserocr是对tesseract做的一层Python API封装,核心是tesseract,所以需要先装tesseract。

3、数据库的安装
关系型数据库:MySQL、Oracle、SQLite、SQL Server、DB2,以表的形式存储,
非关系型数据库:MongoDB(c++编写,基于分布式文件存储,存储内容类似JSON对象)、Redis(基于内存) ,存储形式是键值对,存储形式更加灵活。

4、存储库的安装
数据库仅仅是用来存储数据的,要和python交互还要安装python存储库。
MySQL 需要借助PyMySQL
MongoDB 需要借助PyMongo
Redis 需要借助redis-py,RedisDump 是Redis数据导入/导出工具,基于Ruby实现,所以需要先安装Ruby。

5、Web库的安装

  • Flask 轻量级Web服务程序,做API服务。
  • Tornado 支持异步的Web框架,通过使用非阻塞I/O流,可以支撑成千上万的开放连接。

6、App爬取相关库的安装
略,以后用到的话再补充

7、爬虫框架的安装

  • pyspider 国人binux编写的网络爬虫框架,可支持JavaScript渲染页面的爬取,依赖于PhantomJS ,需要安装PhantomJS。
  • Scrapy 依赖的库比较多,至少有Twisted14.0、lxml3.4、pyOpenSSL 0.14
  • Scrapy-Splash 是一个Scrapy中支持JavaScrip渲染的工具。需要先安装Splash提供渲染服务,这要通过Docker安装,成功安装Splash后,再来安装scrapy-splash。
  • Scrapy-Redis 是Scrapy的分布式扩展模块,可以方便实现Scrapy分布式爬虫的搭建。

8、部署相关库的安装
爬去大规模数据要用到分布式爬虫,要将一份源码同时部署到多台主机上来协同运行。
Scrapyd扩展组件可远程管理Scrapy任务,还有Scrapyd-Client和Scrapyd API来帮助更方便完成部署和监听工作。还有一种部署方式就是Docker集群部署,只需将爬虫制作为Docker镜像。

猜你喜欢

转载自blog.csdn.net/qq_43153291/article/details/83477916