爬虫中scrapy管道的使用

每日分享:

不要自卑,你不比别人笨;不要自满,别人不比你笨。你的未来还没定下来,剧本得由你自己来写。读书不是唯一的出路,但却是最容易的出路。为了成为理想中的自己,就这样一步一步前进吧。就算命运没有宠幸你,你也要好好善待自己。

一、pipeline中常用的方法

1. process_item(self,item,spider)

  • 管道类中必须有的函数
  • 实现对item数据的处理
  • 必须return item

2. open_spider(self,spider):在爬虫开启的时候仅执行一次

3. close_spider(self,spider):在爬虫关闭的时候仅执行一次

二、管道的使用

总体思路:

  1. items中建模
  2. 创建爬虫cwangyi2
  3. 完善爬虫
  4. pipelines中写入一个新管道
  5. 在settings中打开管道

1.建模

2. 创建爬虫

 

3. 完善爬虫

 4. 写入新管道

5. 打开管道

 三、为什么settings中能够(需要)开启多个管道

  1. 不同的pipeline可以处理不同的爬虫数据,通过spider.name属性区分
  2. 不同的pipeline能够对一个或多个爬虫进行不同的数据处理操作,比如一个进行数据清洗,一个进行数据保存
  3. 同一个管道类也可以处理不同爬虫的数据,通过spider.name属性来区分

四、pipeline使用注意点

  1. 使用之前需要在settings中开始
  2. pipeline在setting中键表示位置(即pipeline在项目中的位置可以自定义),值表示距离引擎的远近,越近的数据会越先经过:权重值小的优先执行
  3. 有多个pipeline的时候,process_item的方法必须return item,否则后一个pipeline取到的数据为None值
  4. pipeline中process_item的方法必须有,否则item没有办法接收和处理
  5. process_item方法接收item和spider,其中spider表示当前传递item过来的spider
  6. open_spider(spider):能够在爬虫开启的时候执行一次
  7. close_spider(spider):能够在爬虫关闭的时候执行一次
  8. 上述两个方法经常用于爬虫和数据库的交互,在爬虫开启的时候建立和数据库的连接,在爬虫关闭的时候断开和数据库的连接
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值