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

Scrapy框架详解

框架图

Scrapy框架开发爬虫详解(附框架图和目录结构图)_第1张图片

目录结构

Scrapy框架开发爬虫详解(附框架图和目录结构图)_第2张图片

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也会重新进行请求)

你可能感兴趣的:(爬虫,python,框架,python,scrapy,爬虫)