scrapy的运行流程

  • 爬虫 -> 起始URL封装Request -> 爬虫中间件 -> 引擎 -> 调度器(Scheduler): 缓存请求, 请求去重
  • 调度器 -> 请求 -> 引擎 -> 经过下载器中间件 -> 下载器(发送请求, 获取响应数据, 封装Response)
  • 下载器 - Response(响应) -> 经过下载器中间件 -> 引擎
  • 引擎 - response -> 经过爬虫中间件 -> 爬虫 (解析数据, 提取URL封装请求, 提取数据)
  • 爬虫:
    • 提取URL封装请求 -> 爬虫中间件 -> 引擎 -> 调度器
    • 提取数据 -> 引擎 -> 管道(Pipeline: 处理数据, 比如保存)

各个模块及作用:

爬虫模块:

  1. 构建起始请求 2. 响应数据解析(1. 提取URL封装请求, 2. 提取数据) (需要自己写)

调度器模块:

  1. 缓存请求 2. 请求去重 (已经实现了)

下载器模块:

  发送请求, 获取响应数据,封装为Response(已经实现了)

管道模块:

  处理数据, 比如保存(需要自己写)

引擎模块:

  总指挥: 负责模块之间调度, 以及数据传递(已经实现了)

下载器中间件:

  在引擎和下载器之间, 可以对请求和响应数据进行处理, 比如: 实现随机代理IP, 随机User-Agent

爬虫中间件:

  爬虫和引擎之间, 可以对请求和响应数据进行处理, 比如过滤. (很少)

转载于:https://www.cnblogs.com/mzfly/p/9953068.html

Python爬虫:scrapy 的运行流程和各模块的作用相关推荐

  1. Python爬虫——Scrapy 的基本使用

    文章目录 Python爬虫--Scrapy 的基本使用 1.创建 Scrapy 爬虫项目 2.Scrapy-创建爬虫文件 3.Scrapy-运行爬虫文件 Python爬虫--Scrapy 的基本使用 ...

  2. python爬虫--Scrapy框架--Scrapy+selenium实现动态爬取

    python爬虫–Scrapy框架–Scrapy+selenium实现动态爬取 前言 本文基于数据分析竞赛爬虫阶段,对使用scrapy + selenium进行政策文本爬虫进行记录.用于个人爬虫学习记 ...

  3. Python爬虫—Scrapy框架—Win10下载安装

    Python爬虫-Scrapy框架-Win10下载安装 1. 下载wheel 2.下载twisted 3. 下载pywin32 4. 下载安装Scrapy 5. 创建一个scrapy项目 6. fir ...

  4. Python爬虫-Scrapy框架(四)- 内置爬虫文件 - 4.2 初探Crawl Spider

    Python爬虫-Scrapy框架(四)- 内置爬虫文件 - 4.2 初探Crawl Spider 写在前面 初探Crawl Spider 创建Crawl Spider项目 对比Basic与Crawl ...

  5. Python爬虫 - scrapy - 爬取妹子图 Lv1

    0. 前言 这是一个利用python scrapy框架爬取网站图片的实例,本人也是在学习当中,在这做个记录,也希望能帮到需要的人.爬取妹子图的实例打算分成三部分来写,尝试完善实用性. 系统环境 Sys ...

  6. Python爬虫 scrapy框架爬取某招聘网存入mongodb解析

    这篇文章主要介绍了Python爬虫 scrapy框架爬取某招聘网存入mongodb解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 创建项目 sc ...

  7. Python爬虫——Scrapy 简介和安装

    文章目录 Python爬虫--Scrapy 简介和安装 1.Scrapy 简介 2.Scrapy 下载安装 Python爬虫--Scrapy 简介和安装 1.Scrapy 简介 Scrapy 简介 S ...

  8. scrapy爬虫框架及运行流程

    文章目录 1 scrapy 简介 1.1 什么是爬虫? 1.2 浏览网页的过程中发生了什么? 1.3 scrapy爬虫框架 1.4 scrapy爬虫框架优势 2 scrapy 构架图 3 Scrapy ...

  9. 从入门到入土:python爬虫|scrapy初体验|安装教程|爬取豆瓣电影短评相关信息(昵称,内容,时间和评分)

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

最新文章

  1. EXCEL中SUMIF函数介绍
  2. mongodb数据文件结构——record是内嵌BSON的双向链表,多个record或索引组成extent...
  3. Oracle数据库LOGGINGNOLOGGING模式概述
  4. dataframe 列名重新排序
  5. unlegal android,百度地图定位 Cordova 插件 cordova-plugin-baidumaplocation
  6. 加快读博失败的10种方法
  7. python模拟抛硬币_python实现简单随机模拟——抛呀抛硬币
  8. 程序员的算法课(12)-使用通配符*,?等来查找字符串
  9. diy配置程序php,poscmsDiy字段之文件类型设计指南
  10. 如何在SQL Server中检查日期是否为假期
  11. python吧_如何自学Python?【python吧】
  12. Teechart图表教程:Teechart的组成
  13. 如何选择物业管理软件,五大误区需要避免
  14. 国内外最顶级的十大敏捷项目管理软件【2022】
  15. python解析mht文件_实现MHT文件格式的解析和内容抽取
  16. win7计算机打开显卡设置在哪,[win7显卡设置在哪里]WIN7显卡优化设置在哪
  17. 笔记—R语言做相关气泡图
  18. 将U盘的图标改成自己喜欢的图案
  19. 【预训练语言模型】WKLM: Pretrained Encyclopedia: Weakly Supervised Knowledge-Pretrained Language Model
  20. 【canvas使用】

热门文章

  1. jquery获取服务器控件的值
  2. Linux中.a,.la,.o,.so文件的意义和编程实现
  3. 三星超过台积电 成为全球市值最高半导体公司
  4. 多线程编程之死锁已经死锁产生的原因
  5. Python科学计算扩展库NumPy之np.array()与np.asarray()区别
  6. 八个最好的开源机器学习框架和库
  7. 基于谱减法的声音去噪
  8. 面试必备之:MFC socket编程(浅出+深度:服务端和客户端端口问题)
  9. php快速排序法远离,php快速排序原理与实现方法分析
  10. 向日葵win10远程linux主机,大神为你细说win10系统使用向日葵远程桌面软件远程的操作办法...