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 对数据进行存储或处理

相关推荐
Blue桃之夭夭12 天前
Python爬虫(六):Scrapy框架
爬虫·python·scrapy
华科云商xiao徐25 天前
Python利用Scrapy框架部署分布式爬虫
python·scrapy
cooldream20091 个月前
利用 Scrapy 构建高效网页爬虫:框架解析与实战流程
爬虫·scrapy·架构
一个天蝎座 白勺 程序猿1 个月前
Python爬虫(48)基于Scrapy-Redis与深度强化学习的智能分布式爬虫架构设计与实践
爬虫·python·scrapy
JHC0000001 个月前
重拾Scrapy框架
scrapy
myt20001 个月前
关于scrapy在pycharm中run可以运行,但是debug不行的问题
scrapy·pycharm
_一路向北_1 个月前
爬虫框架:scrapy使用心得
爬虫·scrapy
一个天蝎座 白勺 程序猿1 个月前
Python爬虫(32)Python爬虫高阶:动态页面处理与Scrapy+Selenium+BeautifulSoup分布式架构深度解析实战
爬虫·python·selenium·scrapy·beautifulsoup
明月清风徐徐1 个月前
Scrapy爬取heima论坛所有页面内容并保存到MySQL数据库中
数据库·scrapy·mysql
一个天蝎座 白勺 程序猿1 个月前
Python爬虫(30)Python爬虫高阶:Selenium+Scrapy+Playwright融合架构,攻克动态页面与高反爬场景
爬虫·python·selenium·scrapy·playwright