小白python爬虫学习4(scrapy初级入门)

scrapy 不是一个爬虫函数功能库,而是一个爬虫框架

那么爬虫框架是什么呢?

爬虫框架是个半成品,能够帮助用户实现专用网络爬虫,是实现爬虫功能的一个软件结构和功能组件,像是一个使用模板,约束稍小。

以下为Scrapy的”5+2″结构

有三条主要的数据流

1.spiders—>Engine—->Scheduler

其中Spider获取用户请求并通过Engine传递给Scheduler,而Scheduler负责对爬取请求进行调度

2.Scheduler—->Engine—->Downloader—->Engine—–>Spiders

其中Engine从Scheduler获取下一个要爬取的请求,Engine获取到请求又通过中间件发送到Downloader模块,Downloader拿到请求就与互联网链接并爬取到相关网页,再将爬取的内容形成对象(Responses),再通过中间件Engine发送给Spiders

3.Spiders—->Engines——>Item Pipelines或到达Scheduler模块

Spiders获取响应(Response)之后产生两个爬取的相关类型一个是爬取项(Item),另一个是新的爬取请求(Requests)对应的将Item项发送给Item Pipelines模块,将Requests发送给Schedulers进行相关调度

从数据流的过程我们可以发现,这个框架的出口是Item Pipelines 而入口是Spiders,而在5+2的结构中ENGINE,DOWNLOADER,SCHEDULER都是已有实现,我们并不需要去编写他们

我们只需要编写这个出口和入口,也就是ITEM PIPELINES(负责对提取的信息进行后续处理)与 SPIDERS(用来为整个框架去提供要爬取的链接,同时解析要获得的内容)

之后来看一下各个部分的功能

小白python爬虫学习4(scrapy初级入门)

Engine:控制所有模块之间的数据流,并根据条件触发事件

Downloader :根据请求下载网页,不需要用户修改

Scheduler:对所有爬取请求进行调度管理,不需要用户修改

Downloader MIddleware 目的:实施Engine,Scheduler和Downloader之间进行用户可配置的控制。功能:修改,丢弃,新增请求或响应。可编写配置代码

Spiders 解析Downloader返回的响应(Response),产生爬取项(scraped item),产生额外的爬取请求(Request)

Item Pipeline 处理产生的信息,由一组操作顺序组成,类似流水线,需要用户配置

Spider Middleware 通过对修改,丢弃,新增对请求和爬取项的处理

小白python爬虫学习4(scrapy初级入门)

小白python爬虫学习4(scrapy初级入门)

命令说明格式startproject常见一个新工程scrapy startproject

scrapy genspider[options]

settings获取爬虫配置信息scrapy settings [options]crawl运行一个爬虫scrapy crawl

小白python爬虫学习4(scrapy初级入门)

小白python爬虫学习4(scrapy初级入门)

生成器非常重要,yield可以将结果逐个返回

Original: https://blog.csdn.net/qq_40533899/article/details/113607716
Author: 不会打代码的猪
Title: 小白python爬虫学习4(scrapy初级入门)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/792443/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球