scrapy运行异常

代码没有进行修改,突然就报异常不能运行
希望给个详细的解决方法

img

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7764515
  • 这篇博客你也可以参考下:scrapy可以成功运行,但不能返回要爬取的文字内容
  • 除此之外, 这篇博客: Scrapy爬取图片自定义图片文件名时出现的问题中的 但我觉得不好看,打算以它们原本的名称作为文件名 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 我们先将之前下好的图片删除

    return [scrapy.Request(url=item['image_urls'], meta={'item': item})]
    import re
    import scrapy
    from scrapy.pipelines.images import ImagesPipeline
    
    
    class FabiaoqingPipeline(ImagesPipeline):
        """下载发表情网的表情包管道类
        """
    
        def get_media_requests(self, item, info):
            """对每一个表情包发起请求
            """
            # return [scrapy.Request(url=item['image_urls'])]
            # 传入meta为后续的自定义文件名做准备
            return [scrapy.Request(url=item['image_urls'], meta={'item': item})]
    
        def file_path(self, request, response=None, info=None, *, item=None):
            """图片保存的路径(子路径)
            """
    
            # 以下载路径的最后一段为文件名
            # img_name = request.url.split('/')[-1]
            # print(img_name)
            # return img_name
    
            # 自定义文件名
            item = request.meta['item']     # 从meta中获取item对象
            img_name = item['images']
            # 有些表情包的名字包含特殊字符,导致不能保存,需要改一改
            img_name = re.sub(r'[\/:*?"<>|\n]', '', img_name)
            # 因为有些是gif,有些是jpg,所以文件后缀不能写死
            img_type = request.url.split('.')[-1]
            img_path = img_name + '.' + img_type
            print(img_path)
            return img_path
    
        def item_completed(self, results, item, info):
            """将item传递给下一个管道类
            """
            return item
    
    打印结果:
    我他妈创死你.jpg
    你爹来啰.gif
    叫我一声宝贝跨年你就不是一个人了.jpg
    2022一定暴富(熊猫头表情包).gif
    已经2022年了.gif
    叫我一声老婆跨年你就不是一个人了.jpg
    你爹来咯 你爹来啰.gif
    下次失眠时再见哦.jpg
    我虽然卷但我还是菜.jpg
    派大星Q弹の屁股 快跑.gif
    你想破我防.jpg
    敲你脑袋动图表情包.gif
    干啥啥不行网上冲浪第一名.jpg
    很黄的菜狗.jpg
    指腚行!(指定行).jpg
    无语蛋(滴汗表情包).jpg
    我真的很想融入你们但是我要加班.gif
    上号 英雄联盟手游熊猫头表情包.gif
    恭喜你!你已被困困猫造访啦!从现在开始不管你在干什么你都会困得京不开眼!.jpg
    为我们的无语干杯.gif
    你这么可爱我一定要敲这样我就是敲可爱的.jpg
    宝贝嘴一个开心s啦(库洛米表情包).jpg
    老婆 开门 是我 我回来了 开个门吧 啊?没有喝酒呀 心虚 修勾敲门表情包.gif
    滴汗小黄脸圣诞衣圣诞帽表情包.gif
    2022一定能恋爱 熊猫头表情包.jpg
    满眼都是你你你你.jpg
    臭屁攻击.gif
    少爷小姐起床啦.gif
    3d指人表情包  警告1次.gif
    挠痒痒挠屁股动图表情包.gif
    达咩色色.jpg
    被指到的人做三个提肛运动就现在.jpg
    猫咪探头观察 GIF 动图表情包.gif
    你看又生气了.jpg
    无语 滴汗表情包.gif
    Ji 坏蛋坏蛋大坏蛋.gif
    没人喜欢我.jpg
    雀跃的小腿跳起来 GIF 动图.gif
    1)60这话里有话啊(微信聊天框表情包).gif
    莓事(水果谐音表情包).jpg
    波吉大哭动图表情包.gif
    抱抱充电.gif
    伤心蛙给你一拳.gif
    群伸手党时不时来白嫖表情(群聊表情包).jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.jpg
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif
    妈!大嘴猫表情包.gif

     可以看见,一个很奇怪的现象,前44张图片正常,但在45张图片时出现了大量重复,更重要的是,只下载了2张图片,我们来看看

    文件名为最后一张图片的名字,并且,文件名跟内容对应不上

  • 您还可以看一下 胡书敏老师的从零开始项目实战:从数据分析到数据挖掘课程中的 用豆瓣爬Scrapy编程图书小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    由于当前问题缺乏具体信息,无法给出具体的解决方案。建议提供更具体的错误信息和环境信息,以便能够更好地解决问题。同时,建议尝试重启程序或电脑来解决问题。