scrapy的流程原理

编程入门 行业动态 更新时间:2024-10-21 16:06:47

scrapy的<a href=https://www.elefans.com/category/jswz/34/1770115.html style=流程原理"/>

scrapy的流程原理

Scrapy 特点:使用了Twisted异步网络来处理网络通讯,整体的架构

Scrapy 主要包括了以下的组件

  1. 引擎(scrapy)  用来处理整个系统的数据流处理,触发事务(框架核心)
  2. 调度器(scheduler)  用来接受引擎发过来的请求,压入队列中,并在引擎再次请求的时候返回,可以想象成一个URL(抓取网页上的网址)的优先队列,由他来决定下一个要抓取的网址是什么,同事去掉重复的网址
  3. 下载器(downloader)  由于下载网页的内容,并将网页内容返回给蜘蛛(scrapy下载器是建立在twisted这个高效的异步模型上)
  4. 爬虫(spiders):爬虫是用来干活的,用于特定的网页中提取出自己想要的信息,即所谓实体(item)。用户也可以从中提取链接,让scrapy继续抓取下一个页面
  5. 项目管道(item pipeline):负责处理爬虫从网页中抽取实体,主要的功能是持久化实体,验证实体的有效性,消除不需要的信息。当页面被爬虫解析后,将被发送到项目管道,并经过特定的次序处理数据
  6. 下载器中间件(downloader middlewares):位于scrapy引擎和下载器之间的框架,主要处理scrapy引擎与下载器之间的请求及响应
  7. 爬虫中间件(spider middlewares):介于scrapy引擎和爬虫之间的框架,主要工作是处理蜘蛛的响应输入和请求输入
  8. 调度中间件(scheduler middewares):介于scrapy引擎和调度之间的中间件,从scrapy引擎大送到调度的请求和响应

7,8:对象不同,下载器中间件的作用对象时请求request和返回response,爬虫中间件作用的对象时爬虫,他们的关系在图中可以很好的区分出来   return firstimage

ip代理和随机请求头:应该创建一个中间的插件,安插到每个Request发出去之前,补充proxy的信息,现在的反爬封ip都很严重,scrapy-redis还是好用的,后面在介绍。


Scrapy运行的流程

  1. 引擎从调度器中取出一个链接(URL)用于接下来的抓取
  2. 引擎吧URL封装成一个请求传给下载器
  3. 下载器把资源下载下来,并封装成应答包(response)
  4. 爬虫解析response
  5. 解析出实体(item),则交给实体管道进行进一步的处理
  6. 解析出的是链接(URL),则把URL交给调度器等待抓取

  1. scrapy startproject 项目名称        ----在当前目录中创建一个项目文件
  2. 进入创建的目录
  3. scrapy genspider <name> <domain>   (scrapy genspider baidu "baidu.com"  )
  4. 运行爬虫  scrapy crawl <name>  (scrapy genspider baidu)

 

 

day1       2019 9/7

 

更多推荐

scrapy的流程原理

本文发布于:2023-07-28 22:06:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1336367.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:流程   原理   scrapy

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!