scrapy下载图片

举报
冬晨夕阳 发表于 2022/03/30 01:26:46 2022/03/30
【摘要】 items.py: fishPicId = scrapy.Field() #图片url地址。要是个列表 image_path = scrapy.Field() #->>保存im...

items.py

fishPicId = scrapy.Field()			#图片url地址。要是个列表
image_path = scrapy.Field()     	#->>保存img绝对路径。

  
 
  • 1
  • 2

spider.py

item['fishPicId'] = [img_src]         # ImagesPipeline用到的是图片的url列表

  
 
  • 1

settings.py:

ITEM_PIPELINES = {
   'LXSpider.pipelines.LxspiderPipeline': 300,
    'LXSpider.pipelines.DownloadImagesPipeline': 100
}

import os
IMAGES_URLS_FIELD ="fishPicId"                              #fishPicId:在items.py中配置的爬取得图片地址
project_dir = os.path.abspath(os.path.dirname(__file__))    #获取当前爬虫项目的绝对路径
IMAGES_STORE = os.path.join(project_dir,'images')         #组装新的图片路径,设置图片存储目录
# IMAGES_MIN_HEIGHT = 1                                   #设定下载图片的最小高度
# IMAGES_MIN_WIDTH = 1                                 #设定下载图片的最小宽度

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

pipelines.py

'''保存图片绝对路径'''
from LXSpider.images.full import img_abspath
from scrapy.pipelines.images import ImagesPipeline
class DownloadImagesPipeline(ImagesPipeline):
    def item_completed(self, results, item, info):
        for ok, value in results:               # 通过断点可以看到图片路径存在results内
            image_file_path = img_abspath+str(value['path']).replace('/','\\')     # 将路径保存在item中返回
            item['image_path']=image_file_path
        return item

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

文章来源: blog.csdn.net,作者:考古学家lx,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_43582101/article/details/90723944

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。