Scrapy框架开发爬虫详解(附框架图和目录结构图)

3 篇文章 0 订阅
2 篇文章 0 订阅
本文详细解读Scrapy框架的结构,包括Spiders、Engine、Scheduler和Middleware等组件的工作原理,以及爬虫创建、运行和数据处理流程。适合Scrapy初学者和进阶者理解其高效抓取机制。
摘要由CSDN通过智能技术生成

Scrapy框架详解

框架图

框架图

目录结构

目录结构

cmd 操作

1.创建项目

  • scrapy startproject 项目名

2.进入项目

  • cd 到项目目录下

3.创建爬虫程序

  • scrapy genspider 爬虫名 爬虫域(xxx.com)

    • 创建完成后自动生成scrapy文件框架

4.运行爬虫

  • crapy crawl 爬虫名

5.列出所有爬虫

  • scrapy list

框架组成

Spiders 爬虫器

  • 处理所有的responses 分析数据 获取需要的数据 获取跟进url 提交给引擎

Engine 引擎

  • 处理整个系统的数据流,是框架的核心

Schedule 调度器

  • 接受引擎发送来的请求 加到队列中 处理之后再返回给引擎

Downloader 下载器

  • 下载网页内容 并将结果返回给spider

ItemPipeline 项目管道

  • 处理spider 从返回的对象中抽取出来的数据
    将这些数据储存再数据库中

Downloader Middlewares 下载中间件

  • 处于scrapy 的Request 和 Requesponse之间 的处理模块

Spider Middlewares spider中间件

  • 位于引擎 和spider 中间的框架 主要处理spider输入的响应和输出的结果及新的请求middlewares.py里实现

scrapy框架执行流程

1.spider的yeild将request发送给engine

2.engine对request不做任何处理发送给scheduler
3.scheduler,生成request交给engine
4.engine拿到request,通过middleware发送给downloader
5.downloader在\获取到response之后,又经过middleware发送给engine
6.engine获取到response之后,返回给spider,spider的parse()方法对获取到的response进行处理,解析出items或者requests
7.将解析出来的items或者requests发送给engine
8.engine获取到items或者requests,将items发送给ItemPipeline,将requests发送给scheduler(ps,只有调度器中不存在request时,程序才停止,及时请求失败scrapy也会重新进行请求)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值