【Scrapy】Scrapy的pipelines管道使用方法

在讲解pipelines之前,我先举个例子,这样好了解爬取数据的具体过程:发送请求 获取到数据(从网站上爬取了数据) 数据清洗(处理数据) 存储(把数据存储起来)而现在,我介绍一下pipelines,它可以负责的就是第3和第4步的工作,专业述语就是管道。我们通过定义一个或多个class,可以用来处理我们传入的数据。代码目录:爬虫代码 mingyan_spider.py...
摘要由CSDN通过智能技术生成

在讲解pipelines之前,我先举个例子,这样好了解爬取数据的具体过程:

  1. 发送请求
  2. 获取到数据(从网站上爬取了数据)
  3. 数据清洗(处理数据)
  4. 存储(把数据存储起来)

而现在,我介绍一下pipelines,它可以负责的就是第3和第4步的工作,专业述语就是管道。我们通过定义一个或多个class,可以用来处理我们传入的数据。

代码目录:

 

爬虫代码 mingyan_spider.py:

import scrapy

def getUrl():
    return 'https://search.51job.com/list/030200,000000,0000,00,9,99,%2520,2,1.html?lang=c&stype=&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&providesalary=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=&dibiaoid=0&address=&line=
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Scrapy管道(Pipeline)是Scrapy爬虫框架中的一个组件,用于处理数据,对爬取到的数据进行后续处理,例如数据清洗、去重、存储等。 在Scrapy中,可以定义多个管道类,每个管道类都是一个Python类,实现了一系列的数据处理方法Scrapy会按照管道类的优先级顺序依次调用每个管道类中的方法进行数据处理。 常用的管道方法包括: 1. process_item(item, spider):处理爬取到的数据,并返回处理后的数据。如果返回值是一个Item对象,则继续执行后续的管道类;如果返回值是一个DropItem异常对象,则停止执行后续的管道类;如果返回值是None,则继续执行后续的管道类。 2. open_spider(spider):在爬虫开始运行时调用,可以进行一些初始化操作。 3. close_spider(spider):在爬虫结束运行时调用,可以进行一些清理操作。 常用的管道类包括: 1. scrapy.pipelines.images.ImagesPipeline:用于下载图片并保存到本地。 2. scrapy.pipelines.files.FilesPipeline:用于下载文件并保存到本地。 3. scrapy.exporters.JsonItemExporter:将数据保存为JSON格式。 4. scrapy.exporters.CsvItemExporter:将数据保存为CSV格式。 5. scrapy_redis.pipelines.RedisPipeline:用于将数据保存到Redis数据库中。 可以通过在settings.py文件中配置ITEM_PIPELINES变量来启用管道类,并设置其优先级顺序。例如: ``` ITEM_PIPELINES = { 'myproject.pipelines.MyPipeline': 300, 'myproject.pipelines.MyOtherPipeline': 800, } ``` 以上配置将会依次调用MyPipeline和MyOtherPipeline两个管道类进行数据处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值