关于保存图片的问题

关于保存图片的问题

请老师指点为什么新闻详情页里有多张图片的时候,只能下载下来一张啊?

class DongqiudiImagePipeline(ImagesPipeline):
    def get_media_requests(self, item, info):
        for image_url in item['image_urls']:
            yield scrapy.Request(url=image_url, meta={"item": item})

    def item_completed(self, results, item, info):
        image_paths = []
        for ok, x in results:
            if ok:
                image_paths.append(x['path'])
        if not image_paths:
            raise DropItem('Item contains no images')

    def file_path(self, request, response=None, info=None):
        img_name = request.meta['item']['title']+'.jpg'
        return img_name
        
        
crawl_dongqiudi中获取image_urls的xpath
news_info['image_urls'] = response.xpath("//div[@class='con']/div/p/img/@data-src").extract()


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕笑蓉 2020-06-08 15:39:39

同学,你好。如果image_url中有多少图片一般就会下载多少图片,如果下载数量不一致,可能是因为网络原因造成的,加上爬虫运行的不稳定导致的,就程序来说,是可以下载多张图片的。

如果解决了你的疑惑,请采纳,祝学习愉快~ 

  • 提问者 慕勒1399825 #1
    不是因为我这段代码img_name = request.meta['item']['title']+'.jpg' 使同一条新闻里先下载的图片被后下载的图片覆盖了吗?程序没问题吗?
    2020-06-08 15:59:02
  • 好帮手慕笑蓉 回复 提问者 慕勒1399825 #2
    同学,你好。同学的理解是正确的,如果代码里图片名称都一样,则下载下来的图片会相互覆盖。 祝学习愉快~
    2020-06-08 16:19:39
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
4.入门主流框架Scrapy与爬虫项目实战
  • 参与学习           人
  • 提交作业       107    份
  • 解答问题       1672    个

Python最广为人知的应用就是爬虫了,有趣且酷的爬虫技能并没有那么遥远,本阶段带你学会利用主流Scrapy框架完成爬取招聘网站和二手车网站的项目实战。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师