我们直接使用 requests 、Selenium 等库写爬虫,如果爬取量要求不是很大,速度要求不高,是完全可以满足需求的。但是写多了会发现其内部许多代码和 组件是可以复用的。把这些组件抽离出来,各个功能模块化,就会形成一个框架模型。

利用框架,我们可以不必担心某些功能的具体实现,只需要关心爬取逻辑即可。有了框架,可以简化代码量,而且架构也变得清晰。

(一)pyspider 的安装

pyspider 是国人编写的强大的网络爬虫框架 ,他有强大的 WebUI、脚本编辑器、任务监控、项目管理器、以及结果处理器,同时支持各种数据库后端、多种消息队列,另外还支持JavaScript 渲染页面的爬取。

相关链接:

准备工作: pyspider 是支持 JavaScript 渲染的,而这个过程是依赖 PhantomJS的,所以需要安装 PhantomJS。

pip 安装:

  1. pip3 install pyspider

(二) Scrapy的安装

Scrapy 是一个十分强大的框架,依赖的库比较多。

相关链接:

Windwos 下的安装:
先安装lxml ,安装过程不再叙述
安装pyOpenSSL,在官网网站https://pypi.org/project/pyOpenSSL/#files
下载 wheel文件
image.png
下载后利用pip安装即可

  1. pip3 install xxxxx.whl

安装Twisted:
直接去PyPIhttps://pypi.org/project/Twisted/#files ,下载对应 wheel文件。
image.png
下载后利用pip安装即可

  1. pip3 install xxxxx.whl

安装 PyWin32 :
直接pip安装即可

  1. pip3 install pywin32

安装 Scrapy, 使用pip 命令

  1. pip3 install Scrapy

LInux 下安装 :

  1. Centos 安装:
  2. yum -y update
  3. yum install gcc libffi-devel python-devel openssl-devel
  4. yum groupinstall -y development
  5. yum install libxslt-devel
  6. pip3 install scrapy
  7. ubuntu 安装:
  8. sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
  9. pip3 install -i http://pypi.douban.com/simple/ scrapy

Scrapy-Splash的安装:
Scrapy-Splash 是 Scrapy中支持 JavaScript渲染的一个工具。
直接使用pip 来进行安装

  1. pip3 install scrapy-splash

Scrapy-Redis的安装:
Scrapy-Splash 是 Scrapy的分布式模块,我们可以方便的实现Scrapy分布式爬虫。
pip 安装:

  1. pip3l install scrapy-redis