当前位置: 首页 > news >正文

西宁的网站设计whois域名查询

西宁的网站设计,whois域名查询,云南建设厅网站执业注册,做网站java好还是php文章目录 数据流组件引擎Engine调度器Scheduler下载器Downloader爬虫Spiders项目管道Item Pipeline下载器中间件Downloader Middlewares爬虫中间件Spider Middlewares 在学习Scrapy前,我们需要先了解其架构和工作原理,这样才能很好的去使用Scrapy。 Scra…

文章目录

  • 数据流
  • 组件
    • 引擎Engine
    • 调度器Scheduler
    • 下载器Downloader
    • 爬虫Spiders
    • 项目管道Item Pipeline
    • 下载器中间件Downloader Middlewares
    • 爬虫中间件Spider Middlewares

在学习Scrapy前,我们需要先了解其架构和工作原理,这样才能很好的去使用Scrapy。
Scrapy的整体架构如下图所示,同时也标注出了其各个组件和数据流。
在这里插入图片描述

数据流

Scrapy的数据流由引擎控制,流程如下:

  1. 引擎Engine从爬虫Spiders中获得初始请求开始抓取。
  2. 引擎Engine在调度器Scheduler中调度请求,并准备对下一次的请求进行抓取。
  3. 调度器Scheduler返回下一个请求给引擎Engine。
  4. 引擎Engine通过下载器中间件Downloader Middleware发送请求到下载器Downloader
  5. 一旦下载器Downloader完成页面下载,将生成一个响应Response通过下载器中间件Downloader Middleware返回给引擎Engine。
  6. 引擎Engine收到下载器Downloader的响应,通过爬虫中间件Spiders Middleware发送给爬虫Spiders进行处理。
  7. 爬虫Spiders处理响应Response,并通过爬虫中间件Spiders Middleware返回处理后的Items,以及新的请求Request给引擎Engine。
  8. 引擎Engine发送处理后的Items给到项目管道Item Pipelines进行存储或其他处理,然后把处理后的请求Requests发送给调度器Scheduler,计划处理下一个可能抓取的请求。
  9. 流程从第3步重复,直到调度器Scheduler中没有更多的请求。

上面流程中提到了很多名词,比如引擎、调度器、下载器、爬虫、项目管道、中间件,这些是什么呢?都是Scrapy的组件。

组件

Scrapy包含了6大组件,分别是引擎(engine)、调度器(scheduler)、下载器(downloader)、爬虫(spiders)、项目管道(item pipelines)、中间件(middleware)。中间件中又分下载器中间件Downloader Middlewares和爬虫中间件Spider Middlewares

引擎Engine

引擎负责控制系统所有组件之间的数据流,并当某些操作发生时触发事件。

调度器Scheduler

调度器用来接收引擎发过来的请求,并把这些请求排入队列,当引擎需要时再返回。其作用是决定下一个要抓取的网址,并把重复的网址去除。

下载器Downloader

下载器负责取回网页内容(即响应response)返回给引擎,引擎把网页内容依次给爬虫。下载器是建立在twisted异步模型上的。

爬虫Spiders

爬虫是Scrapy的使用者自己编写的类,用来解析响应(response),并提取出项目(items)或额外的新请求。

项目管道Item Pipeline

项目管道负责处理由爬虫提取出来的项目,典型的任务包括清理、验证和持久化(比如存储到数据库)。

下载器中间件Downloader Middlewares

下载器中间件位于引擎和下载器之间,用来处理引擎到下载的请求,和下载器到引擎的响应。遇到以下情况时请使用下载器:

  • 在请求发送到下载器之前处理请求
  • 在响应发生到爬虫前修改接收到的响应
  • 不把响应发送到爬虫,而是发送一个新请求
  • 不获取网页的情况下把响应发送给爬虫
  • 静默的删除一些请求

爬虫中间件Spider Middlewares

爬虫中间件位于引擎和爬虫之间,能够处理爬虫的输入(responses)和输出(items and requests)。当需要做以下事情时请使用爬虫中间件:

  • 爬虫回调的内容处理后输出,包括修改、添加、删除请求requests或项目items
  • 处理后开始请求start_requests
  • 处理爬虫的异常
  • 调用 errback 代替基于响应内容的某些请求的回调

Scrapy的工作原理就讲这么多了,欢迎大家在其他平台关注我,将不定期发放各种软件或软件源码供大家使用!

在这里插入图片描述

http://www.wangmingla.cn/news/50772.html

相关文章:

  • 浪网站制作免费域名注册二级域名
  • app网站开发河 又做网页的网站
  • wordpress建站实例怎么给网站做优化
  • 静安企业网站制作宁波优化seo软件公司
  • 给政府做网站的公司网站设计公司怎么样
  • 网页设计与网站建设考试题热搜排行榜今日排名
  • 公司网站维护由那个部门做域名权重
  • 长沙网站技术专家搜索引擎营销题库和答案
  • 微信公众号编辑 导入wordpresswindows优化大师怎么用
  • 广州门户网站建设方案百度竞价效果怎么样
  • 网销具体怎么做网站站长工具seo综合查询怎么用
  • 自己弄一个网站要多少钱随州seo
  • 做论坛网站的元素软文营销的作用有哪些
  • 软件详细设计文档seo在中国
  • 一直在做竞价的网站是不是不需要做seo输入关键词自动生成标题
  • 宁波做网站的大公司排名seo每日一贴
  • 合肥网站建设cnfg爱站网
  • 冰雪复古传奇手游官网杭州百度快照优化排名推广
  • 做企业网站多少钱如何推广公司
  • 西安外贸网站建设品牌策划ppt案例
  • 使用局域网可以做网站吗中国站免费推广入口
  • 2018网站建设企业推广策划书
  • 怎么做wp网站域名
  • 电子商务网站建设与管理心得公司如何做网络推广营销
  • 聊城集团网站建设多少钱站长工具在线查询
  • 日本网页游戏网站影视剪辑培训机构排名
  • 做网站的dw全称是啥给大家科普一下b站推广网站
  • 莱山网站建设太原seo建站
  • 网站建设概述网站搜索引擎优化主要方法
  • 微梦网站建设百度快照怎么用