Scrapy框架详解

一, 介绍: scrapy是一个专业的,高效的爬虫框架, 它使用专业的Twisted包高效的处理网络通信, 使用lxml(专业的XML处理包),cssselect 高效的提取HTML页面的有效信息, 同时它也提供了有效的线程管理, 爬虫框架 是实现爬虫功能的一个软件结构和功能组件集合, 爬虫框架是一个半成品, 能够帮助用户实现专业的网络爬虫

二, 安装: pipenv  install scrapy

三,结构:  5+2 结构

5个模块分别是: engine模块 + spiders模块(框架入口)+ scheduler模块+ downloader模块+ item pipelines(框架出口)模块

2个中间件分别是: spiderMiddleware 和 downloaderMiddleware

3条数据流路径:

1️⃣:spiders模块经过engine模块到达scheduler模块(request请求)

2️⃣: scheduler模块通过engine模块 到达downloader模块, 将数据返回给spider模块

3️⃣spider模块通过engine模块分别达到item pipelines模块 和 scheduler模块

三, engine模块功能:(整个框架核心, 控制所有模块的数据流, 根据条件触发事件)

1)downloader模块:(根据请求下载网页)

扫描二维码关注公众号,回复: 6848064 查看本文章

2)scheduler: 负责调度

3)item pipelines 模块: 以流水线的方式处理spider产生的爬取项,由一组操作顺序组成,类似流水线, 每个操作是一个item Piplines类型

4) spider: 解析Downloader返回的响应(Response), 产生爬取项 , 产生额外的爬取请求(Request)

四,Downloader Middleware:

目的: 实施Engine,scheduler和downloader之间进行用户可配置的控制

功能: 修改,丢弃,新增请求或响应  用户可以编辑可配置代码

猜你喜欢

转载自www.cnblogs.com/wangyue0925/p/11233188.html