【Python_Scrapy学习笔记(一)】Scrapy框架简介

Scrapy框架简介

前言

Scrapy 框架是一个用 python 实现的为了爬取网站数据、提取数据的应用框架,使用 Twisted 异步网络库来处理网络通讯,可以高效的完成数据爬取。本文主要介绍 Scrapy 框架的构成与工作原理。

正文

1、Scrapy安装

Windows安装:-m -pip install Scrapy
或使用 PyCharm 可视化界面安装。

2、Scrapy框架构成

  1. 爬虫文件Spider:负责数据的解析提取
  2. 调度器Scheduler:负责维护请求队列
  3. 下载器Downloader:负责发请求获取响应对象
  4. 实体管道Item Pipeline:负责处理数据,数据入库
  5. 引擎Engine:整个框架的核心,总指挥

3、Scrapy框架工作流程

  1. 当整个爬虫项目启动时,由引擎来找到爬虫文件,索要第一批要抓取的url地址;
  2. 引擎拿到url地址后,将url地址交给调度器入队列;
  3. 调度器将url地址入队列后,再出队列,这个过程在调度器中生成了一个请求指纹;
  4. url地址出队列后,交给引擎;再由引擎交给下载器,下载器只负责发请求获取响应response,拿到响应对象;
  5. 下载器将从站点拿到的响应对象交给引擎,引擎拿到响应;
  6. 引擎将拿到的响应对象给爬虫文件,解析提取;
  7. 爬虫文件解析提取数据后,产生两种数据:一是需要继续跟进的url地址,二是解析后需要存储的数据;
  8. 提取出来的数据交给项目管道做数据库入库处理;继续跟进的url地址由引擎交给调度器做入队列操作;
  9. 如此循环。

【Python_Scrapy学习笔记(一)】Scrapy框架简介_第1张图片

4、Scrapy框架的两个中间件

中间件相当于过滤器,夹在不同部分之间截获数据流,并进行特殊的加工处理。

  1. 下载器中间件Downloader Middlewares:请求对象->引擎->下载器,包装请求(随机代理等)
  2. 蜘蛛中间件Spider Middlewares:响应对象->引擎->爬虫文件,可修改响应对象属性

你可能感兴趣的:(Python学习笔记,#,Scrapy学习笔记,python,scrapy,爬虫,网络爬虫)