第二章 编写Spider

1. Scrapy框架结构以及工作原理

Scrapy框架组成结构

组件描述类型
ENGINE引擎,框架的核心,其他所有组件在其控制下协同工作内部组件
SCHEDULER调度器,负责对SPIDER提交的下载请求进行调度内部组件
DOWNLOADER下载器,负责下载页面(发送HTTP请求/接收HTTP响应)内部组件
SPIDER爬虫,负责提取页面中的数据,并产生对新页面的下载请求用户实现
MIDDLEWARE中间件,负责对Request对象和Response对象进行处理可选组件
ITEM PIPELINE数据管道,负责对爬取到的数据进行处理可选组件

Spider是最核心的组件

Item 是从页面中爬取的一项数据

爬虫执行顺序:
1. 当SPIDER 要爬取某URL地址的页面时,需要用该URL构建一个Request对象,提交给ENGINE(上图中的1)
2. Request对象随后进入SCHEDULER按某种算法进行排队,之后的某个时刻SCHEDULER将其出队,送往DOWNLOADER(上图的2/3/4)
3. DOWNLOADER根据Request对象中的URL地址发送一次HTTP请求到网站服务器,之后用服务器返回的HTTP响应构造出一个Response对象,其中包含页面的HTML文本(上图的5)
4. Response对象最终会被递送给SPIDER的页面解析函数(构造Request对象时指定)进行处理,页面解析函数从页面中提取数据,封装成Item后提交给ENGINE, Item之后被送往ITEM PIPELINES 进行处理;最终可能由EXPORTER以某种数据格式写入文件;另一方面,页面解析函数还从页面中提取链接(URL),构造出新的Request对象提交给
ENGINE(上图的6/7/8)

如果把框架中的组件比作人体的各个器官,Request和Response对象便是血液,Item则是代谢产物

2. Request 和 Response 对象

3. Spider 开发流程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值