scrapy框架总结

#scrapy框架是什么:

#####scrapy是用纯Python实现的一个为了爬去网站数据,提取结构数据而编写的应用框架.

scrapy框架的工作流程:![scrapy.jpeg](https://upload-images.jianshu.io/upload_images/9879502-9957aa2df11ded61.jpeg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

“`

#个个模块之间的作用:

Scrapy Engine(引擎): 负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。

Scheduler(调度器): 它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。

Downloader(下载器):负责下载Scrapy ##Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy ##Engine(引擎),由引擎交给Spider来处理,

Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器),

Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方.

Downloader Middlewares(下载中间件):你可以当作是一个可以自定义扩展下载功能的组件。

#Spider Middlewares(Spider中间件):你可以理解为是一个可以自定扩展和操作引擎和##Spider中间通信的功能组件(比如进入Spider的Responses;和从Spider出去的Requests)

“`

![c893ae3b-5557-4649-9b48-c8748d3936cd.png](https://upload-images.jianshu.io/upload_images/9879502-ea12c4f8aa5ef9c9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

##介绍完了scrapy的工作流程之后我们就可以开始爬虫项目了!!

>1:新建一个项目: scapy startproject 我的爬虫名称

>项目新建完成之后我们要进入spider文件下再创建你的爬虫文件, scrapy genspider 爬虫文件名称 爬虫域

创建完了项目之后我们就可一制作我们的爬虫了打开我们创建的爬虫文件,我们可以看到默认代码如下:

-*- coding: utf-8 -*-

import scrapy

class JobboleSpider(scrapy.Spider):

    name = ‘爬虫名称’

    allowed_domains = [‘默认域’]

    start_urls = [‘起始URL’]

    def parse(self, response):

        pass

再然后就可以直接使用选择器进行获取数据了

#scrapy框架是什么:

#####scrapy是用纯Python实现的一个为了爬去网站数据,提取结构数据而编写的应用框架.

scrapy框架的工作流程:![scrapy.jpeg](https://upload-images.jianshu.io/upload_images/9879502-9957aa2df11ded61.jpeg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

“`

#个个模块之间的作用:

Scrapy Engine(引擎): 负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。

Scheduler(调度器): 它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。

Downloader(下载器):负责下载Scrapy ##Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy ##Engine(引擎),由引擎交给Spider来处理,

Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器),

Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方.

Downloader Middlewares(下载中间件):你可以当作是一个可以自定义扩展下载功能的组件。

#Spider Middlewares(Spider中间件):你可以理解为是一个可以自定扩展和操作引擎和##Spider中间通信的功能组件(比如进入Spider的Responses;和从Spider出去的Requests)

“`

![c893ae3b-5557-4649-9b48-c8748d3936cd.png](https://upload-images.jianshu.io/upload_images/9879502-ea12c4f8aa5ef9c9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

##介绍完了scrapy的工作流程之后我们就可以开始爬虫项目了!!

>1:新建一个项目: scapy startproject 我的爬虫名称

>项目新建完成之后我们要进入spider文件下再创建你的爬虫文件, scrapy genspider 爬虫文件名称 爬虫域

创建完了项目之后我们就可一制作我们的爬虫了打开我们创建的爬虫文件,我们可以看到默认代码如下:

-*- coding: utf-8 -*-

import scrapy

class JobboleSpider(scrapy.Spider):

    name = ‘爬虫名称’

    allowed_domains = [‘默认域’]

    start_urls = [‘起始URL’]

    def parse(self, response):

        pass

再然后就可以直接使用选择器进行获取数据了

    原文作者:han呐
    原文地址: https://www.jianshu.com/p/f3a15c72fbbd
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞