首页 > 代码库 > Scrapy基础————图片下载后将本地路径添加到Item中

Scrapy基础————图片下载后将本地路径添加到Item中

    前边讲到简单的图片下载,但是怎样将图片的本地路径和存储在Item中的数据对应起来,所以本篇博文讲解到如何将

本地的下载后的图片路径写入到Item中

 

 思路:自定义pipline,多加个管道,该管道继承下载图片的类,并重写与Item 交互的方法,从众提取到本地路径,并返回这个Item交给下一个pipline管道

具体代码:

先导入

  from scrapy.pipelines.images import ImagesPipeline

1 #补充Item的字段,将文章列表页的图片下载下来,并将图片的路径添加到item2 class ArticalImagesPipeline(ImagesPipeline):3     def item_completed(self, results, item, info):4         for ok,value in results:                        #debuge得知:result是一个元组,(状态,{"path":"","url":"http://***"})5             image_file_path = value["path"]6         item["front_image_path"] = image_file_path      #将提取到的path写入到Item中7         return item                      #将加工后的Item传递给下一个管道进行处理

将自定义的管道加入到setting的管道管理的设置

技术分享

 

Scrapy基础————图片下载后将本地路径添加到Item中