一、5+2结构:

  • Engine(引擎): 负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等
  • Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器)
  • Scheduler(调度器): 它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎
  • Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎),由引擎交给Spider来处理
  • Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方
  • Downloader Middlewares(下载中间件):是一个可以自定义下载功能的组件
  • Spider Middlewares(Spider中间件):是一个可以自定操作引擎和Spider中间通信的功能组件

二、Scrapy请求发出去的流程

1.首先爬虫将需要发送请求的url(requests)经引擎交给调度器(上图1)

2.经Engine交给Scheduler(上图2),Scheduler排序处理后再由Engine,DownloaderMiddlewares(有User_Agent, Proxy代理)交给Downloader(上图3--4)

3.Downloader向互联网发送请求,并接收下载响应.将响应经ScrapyEngine,可选交给Spiders(上图5--6)

4.Spiders处理response,提取数据并将数据经Engine交给ItemPipeline保存(上图7--8)

5.Spider发现新的url经Engine再交给Scheduler进行下一个循环。直到无Url请求程序停止结束(上图7--8)

scrapy爬虫框架结构相关推荐

  1. python 爬虫 scrapy 和 requsts 哪个快_Scrapy爬虫框架结构以及和Requests库的比较

    爬虫框架 *爬虫框架是实现爬虫功能的一个软件结构和功能组件集合 *爬虫框架是一个半成品,能够帮助用户实现专业网络爬虫 Scrapy爬虫框架结构 "5+2"结构 Spiders(用户 ...

  2. python scrapy框架爬虫_Python Scrapy爬虫框架

    Scrapy爬虫框架结构: 数据流的3个路径: 一: 1.Engine从Spider处获得爬取请求(Request) 2.Engine将爬取请求转发给Scheduler,用于调度 二: 3.Engin ...

  3. 【scrapy爬虫】了解Scrapy+爬虫豆瓣电影Top250信息

    Scrapy爬虫框架 scrapy是什么 它是一个快速功能强大的开源网络爬虫框架 Github地址:https://github.com/scrapy/scrapy 官网地址:https://scra ...

  4. Scrapy爬虫框架介绍

    一.爬虫框架简介 爬虫框架是实现爬虫功能的一个软件结构和功能组件集合. 爬虫框架是一个半成品,能够帮助用户实现专业网络爬虫. 二.Scrapy爬虫框架结构 五个模块: spiders(爬虫):解析do ...

  5. Python 网络爬虫笔记9 -- Scrapy爬虫框架

    Python 网络爬虫笔记9 – Scrapy爬虫框架 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程链接:Py ...

  6. python创建scrapy_Python爬虫教程-31-创建 Scrapy 爬虫框架项目

    首先说一下,本篇是在 Anaconda 环境下,所以如果没有安装 Anaconda 请先到官网下载安装 Scrapy 爬虫框架项目的创建0.打开[cmd] 1.进入你要使用的 Anaconda 环境1 ...

  7. 手把手教你如何新建scrapy爬虫框架的第一个项目(下)

    前几天小编带大家学会了如何在Scrapy框架下创建属于自己的第一个爬虫项目(上),今天我们进一步深入的了解Scrapy爬虫项目创建,这里以伯乐在线网站的所有文章页为例进行说明. 在我们创建好Scrap ...

  8. scrapy爬虫框架初相识

    自己新建一个文件夹: 然后执行命令: scrapy startproject python123demo 查看里面的东西: D:\pythonscrapy>tree /f >.txt 卷 ...

  9. Python网络爬虫之scrapy爬虫的基本使用

    Scrapy爬虫的数据类型: 1. Request类:向网络上提交请求,跟requests库里的不是一个类型!2. Responce类:封装爬取内容3. ITEM:spider封装类 Responce ...

  10. Python之Scrapy爬虫的常用命令

    Scrapy爬虫的常用命令: Scrapy命令行是为持续运行设计的专业爬虫框架. 常用的Scrapy,命令有三个: startproject genspider crawl Scrapy为什么采用命令 ...

最新文章

  1. 福利 | 从生物学到神经元:人工神经网络 ( ANN ) 简介
  2. PHP之高性能I/O框架:Libevent(二)
  3. Android之ScrollView
  4. 飞鸽传书 2010Beta2.0正式版预计本月内即可上线
  5. 在vue中实现picker样式_基于vue的颜色选择器vue-color-picker
  6. SQL Server维护计划–好处,功能和特性
  7. 对抗模拟浏览器的DDoS攻击
  8. 关于text-indent
  9. java 静态内部类 内部类_Java中内部类和静态内部类的区别
  10. C# List最大值最小值问题 List排序问题 List Max/Min
  11. Atitit 修改密码的功能流程设计 attilax总结
  12. android与单片机wifi通信原理图,基于单片机的wifi模块原理图分析
  13. python中pandas数据分析基础3(数据索引、数据分组与分组运算、数据离散化、数据合并)...
  14. 海外邮件收发阻碍多?网易企业邮箱为您保驾护航【网易企业邮箱怎么申请】
  15. 初生牛犊不怕虎!开发不足一年的Android实习生在大厂横冲直撞后,手握多份offer,特此分享!
  16. win8 配置要求
  17. 鼠标处显示坐标 html,cesium的鼠标事件(最基础的显示鼠标位置坐标)
  18. 基于Matlab的三角函数方程组解算方法
  19. NACOS2.1. 最新版本启动报错Caused by: java.sql.SQLSyntaxErrorException: Unknown column ‘encrypted_data_
  20. aliyun cloud ide

热门文章

  1. python爬取全球历年GDP数据
  2. 高一物理必修第二册公式整理
  3. 从IOE看云行业的潜力
  4. ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBER
  5. unity 摄像头跟着鼠标移动_lwj_unity_模拟第一人称摄像机前后左右移动、摄像机随鼠标移动旋转、鼠标点击添加物体...
  6. 我把视频变成链接_H5中加视频?这才是正确姿势
  7. 正则表达式 匹配一个数字
  8. O(n*lgn)时间复杂度的逆序对统计算法实现思想
  9. 微信小程序选择开始时间和结束时间控件
  10. 4.6.2 IPv6的地址