依恋、阳光 2021-08-17 09:54 采纳率: 0%
浏览 480

scrapy框架程序运行成功,却没有图片保存

img

img

img

img

scrapy框架程序运行成功,URL没有问题,却图片保存不了到本地,管道开启了,保存路径也写了,是怎么回事,查了两天了,都没有发现什么问题,代码也没有问题,网址也能正常提取!有没热心的网友帮助一下?

  • 写回答

2条回答 默认 最新

  • 考古学家lx(李玺) python领域优质创作者 2021-08-17 13:52
    关注

    又看见张口就来的。

    scrapy中就是用单独的Image管道来保存图片的。不需要open什么

    这是我之前的代码,Pipeline

    '''保存图片绝对路径,重命名图片'''
    import os
    from MGCWDSpider.settings import IMAGES_STORE as IMGS
    from scrapy.pipelines.images import ImagesPipeline
    from MGCWDSpider.items import Article
    class DownloadImagesPipeline(ImagesPipeline):
        def item_completed(self, results, item, info):
            image_file_path = (IMGS + '\\' +'xxxx' + '.jpg')  # 将路径保存在item中返回
            item['image_path'] = image_file_path
            return item
    

    settings除了开启管道,其他的相关配置

    IMAGES_URLS_FIELD ="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                                  #设定下载图片的最小宽度
    IMAGES_EXPIRES = 3                                   #设定3天内不下载重复图片  
    

    另外有些网站设置了防盗链接,在scrapy中需要在配置请求管道,设置一个referer

    如果代码没问题,可能就是因为防盗链了

    评论

报告相同问题?

问题事件

  • 创建了问题 8月17日

悬赏问题

  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真