scrapy框架流程

1、Scrapy从Spider子类中提取start_url,然后构造为request请求对象

2、将request请求对象传递给爬虫中间件

3、将request请求对象传递给Scrapy引擎(核心代码)

4、将request请求对象传递给调度器(它负责对多个request安排,好比交通管理员负责指挥交通)

5、将request请求对象传递给scrapy引擎

6、Scrapy引擎将request请求对象传递给下载中间件(可以更换代理IP 更换cookie 更换user-agent,自动重试等)

7、request请求对象传递给到下载器(它通过异步的发送HTTP(s)请求。得到响应封装为response对象)

8、将requests传递给下载中间件

9、下载中间件将response对象传递给scrapy引擎

10、Scrapy 引擎将response对象传递给爬虫中间件(这里可以处理异常情况)

11、爬虫对象中的parse函数被调用(在这里可以得到的response对象进行处理 例如status得到的响应码 ,xpath可以进行提取数据等)

12、第11步调用的yelid管道 调用piplines 对数据进行存储或处理

相关推荐
cooldream20092 天前
利用 Scrapy 构建高效网页爬虫:框架解析与实战流程
爬虫·scrapy·架构
一个天蝎座 白勺 程序猿2 天前
Python爬虫(48)基于Scrapy-Redis与深度强化学习的智能分布式爬虫架构设计与实践
爬虫·python·scrapy
JHC0000003 天前
重拾Scrapy框架
scrapy
myt20005 天前
关于scrapy在pycharm中run可以运行,但是debug不行的问题
scrapy·pycharm
_一路向北_8 天前
爬虫框架:scrapy使用心得
爬虫·scrapy
一个天蝎座 白勺 程序猿11 天前
Python爬虫(32)Python爬虫高阶:动态页面处理与Scrapy+Selenium+BeautifulSoup分布式架构深度解析实战
爬虫·python·selenium·scrapy·beautifulsoup
明月清风徐徐14 天前
Scrapy爬取heima论坛所有页面内容并保存到MySQL数据库中
数据库·scrapy·mysql
一个天蝎座 白勺 程序猿17 天前
Python爬虫(30)Python爬虫高阶:Selenium+Scrapy+Playwright融合架构,攻克动态页面与高反爬场景
爬虫·python·selenium·scrapy·playwright
梦想画家20 天前
Scrapy进阶实践指南:从脚本运行到分布式爬取
分布式·scrapy·数据工程
一个天蝎座 白勺 程序猿20 天前
Python爬虫(29)Python爬虫高阶:动态页面处理与云原生部署全链路实践(Selenium、Scrapy、K8s)
redis·爬虫·python·selenium·scrapy·云原生·k8s