scrapy框架简介

一、scrapy简介Scrapy 是用纯 Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架, 用途非常广泛Scrapy 使用了 Twisted(其主要对手是Tornado)异步网络框架来处理网络通讯,可以加快 我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成 各种需求(1)、下载scrapypip install scrapy二、scrapy开发流程1、新建项目scrapy startproject 项目名2、新建spider–爬虫模板先
摘要由CSDN通过智能技术生成
一、scrapy简介

Scrapy 是用纯 Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架, 用途非常广泛

Scrapy 使用了 Twisted(其主要对手是Tornado)异步网络框架来处理网络通讯,可以加快 我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成 各种需求

(1)、下载scrapy

pip install scrapy

二、scrapy开发流程

1、新建项目

scrapy startproject 项目名

2、新建spider–爬虫模板

先进入项目目录下

命令:scrapy genspider [py文件的名称] [spider爬取的网址]

文件中属性的含义:

3、更改配置-settings.py的两个配置

(1)headers:配置scrapy下载时的请求头

(2)robots协议:

全称:网络爬虫排除标准

​ 作用:robots协议规定了,搜索引擎哪些数据可以爬取,哪些不可以爬取的协议文件

​ scrapy默认遵循robots协议的

4、运行命令

scrapy crawl spider_name [–nolog]

5、提取数据

参数repsonse有如下内容:

对于一个提取数据的方法,它外部不会提取出两个内容:

  • 一个url

  • item

    所以在spider组件中的所有的parse方法,将来只能yield出两个内容:

    • 一个url

      yield scrapy.Requests(
      url=url,

      	callback=函数,
      
      	encoding =编码 
      
      )
      
    • item

      yield item

6、编写item

item.py结构如下:注意:这些字段必须不能为空

导入使用相对路径

7、数据的保存

当在spider中yiled一个item时候,scrapy会将这个item交给pipelines.py来处理,想要利用上述功能,必须先要配置

(1)配置pipelines

(2)编存储数据的pipelines.py

三、pipelines管道原理

四、scrapy框架图

  • 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(下载中间件): 你可以当作是一个可以自定义扩展下载功能 的组件
  • SpiderMiddlewares(spider中间件): 你可以理解为是一个可以自定义扩展和操作引擎 和 spider 中间通信的功能组件(比如进入 spider 的 Response 和从 spider 出去的 Requests)
五、Scrapy 中间件

简介: 中间件是Scrapy里面的一个核心概念,使用中间件可以在爬虫的请求发起之前或者请求返回之后对数据进行定制化修改,从而开发出适应不同情况的爬虫

分类: 爬虫中间件和下载中间件

1、新建一个py文件

2、在文件新建一个类,这个必须有一个方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值