Scrapy框架、Scrapy(windows、ubuntu)安

2019-01-05  本文已影响0人  牛耀

Scrapy架构图(绿线是数据流向):


image.png

Scrapy Engine(引擎): 负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。
Scheduler(调度器): 它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。

Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎),由引擎交给Spider来处理,

Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器),

Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方.

Downloader Middlewares(下载中间件):你可以当作是一个可以自定义扩展下载功能的组件。

Spider Middlewares(Spider中间件):你可以理解为是一个可以自定扩展和操作引擎和Spider中间通信的功能组件(比如进入Spider的Responses;和从Spider出去的Requests)

  1. 首先是你写的爬虫文件,给出起始url和需要的字段
  2. scrapy会提取你的url,通过爬虫中间件(Spider Middlewares)到爬虫引擎,爬虫引擎会把url给调度器。
  3. 等到适当的时候引擎会从调度器中拿出url,通过下载中间件到下载器,下载器会想服务器发送Request请求,再通过下载中间件给引擎,引擎再通过爬虫中间件交给爬虫文件。
  4. 根据自定义的item,提取url和数据。
  5. 提取数据之后,根据需求,提取到url会继续执行以上操作,提取到的数据会交给管道分析、过滤、存储。

Windows

  1. Python扩展包的非官方Windows二进制文件(Twisted在网页最后面)下载和自己python版本对应的twisted
  2. 如我的python是3.6 win32,我就下载了Twisted-17.9.0-cp36-cp36m-win32.whl
    然后执行安装:pip3 install Twisted-17.9.0-cp36-cp36m-win32.whl

ubuntu

  1. sudo pip3 install scrapy
  2. 安装非Python的依赖

sudo apt-get install python3-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev

上一篇 下一篇

猜你喜欢

热点阅读