python“最好用的爬虫框架”Scrapy框架详解

开局一张图

如果这张图你能够看明白那就以及明白了Scrapy框架爬虫的基本原理
为了你们能够看明白所以就加上了点注释
在这里插入图片描述

Scrapy简介(百度百科)

Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等

详解Scrapy框架

Scrapy共有Scrapy Engine(引擎)、Scheduler(调度器)、Downloader(下载器)、spider爬虫、ItemPipeline(管道)、SpiderMiddlewares(中间件)、DownloaderMiddlewares(下载中间件)组成

scrapy框架的工作流程:
1.首先Spiders(爬虫)将需要发送请求的url(requests)经ScrapyEngine(引擎)交给Scheduler(调度器)。

2.Scheduler(排序,入队)处理后,经ScrapyEngine DownloaderMiddlewares(下载中间件—可选,主要有User_Agent, Proxy代理)交给Downloader。

3.Downloader(下载器)向互联网发送请求,并接收下载响(response)。将响应(response)经ScrapyEngine(引擎),SpiderMiddlewares(中间件–可选)交给Spiders。

4.Spiders处理response,提取数据并将数据经ScrapyEngine(引擎)交给ItemPipeline(管道)保存(可以是本地,可以是数据库)。

提取url重新经ScrapyEngine(引擎)交给Scheduler(调度器)进行下一个循环。直到无Url请求程序停止结束。

个人理解

引擎:负责各个模块之间的通信交流;
管道:负责处理爬虫的item,进行数据清洗格式化存储(存储到本地或数据库)等;
调度器:负责接收引擎发来的request请求,并按照一定顺序入栈,当引擎需要的时候返还给引擎;
下载器:负责下载引擎发来的所有requests请求,并将responses返还给引擎;
spider爬虫:负责引擎发来的responses,提取里面的数据,获取item所需要的字段,并把获取到的url给调度器;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值