You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python下载不同URL对应图片输出全部重复 保存被覆盖如何修复

问题修复方案

故障原因

代码使用了嵌套双层循环,运行逻辑为每遍历到一个url,就会把words列表对应的3个存储路径全部重写一遍。当循环执行到最后一个url时,会把之前所有路径下保存的图片全部替换为最后一个url的资源,最终得到的3张图片内容完全一致。

修复代码(需求为3个url对应3张独立命名图片)

import praw
import urllib.request
from bs4 import BeautifulSoup
import requests
import random
urls = ['https://media.sproutsocial.com/uploads/2017/02/10x-featured-social-media-image-size.png' , 
'https://blog.uniquez.co/wp-content/uploads/2020/11/%D9%85%D9%82%D8%A7%D8%B5%D8%A7%D8%AA-%D8%B5%D9%88%D8%B1-%D9%85%D9%88%D8%A7%D9%82%B9-%D8%A7%D9%84%D8%AA%D9%88%D8%A7%D8%B5%D9%84-%D8%A7%D9%84%D8%A7%D8%AC%D8%AA%D9%85%D8%A7%D8%B9%D9%8A2.png' , 
'https://media.sproutsocial.com/uploads/2017/08/Facebook-Collection-Video-Ads.png']
words = ['fewfewfwe' , 'fesfewfewf' , 'efefwefwefew']
# url与word按顺序一一配对,单循环避免重复覆盖
for url, word in zip(urls, words):
    path = "image" + word + ".jpg"
    urllib.request.urlretrieve(url, path)

修改后每个url只会对应唯一的存储路径,不会出现覆盖问题,最终可得到3张与url一一对应的独立图片。

可选方案(需求为每个url生成3张不同命名的副本,共9张无覆盖图片)

import praw
import urllib.request
from bs4 import BeautifulSoup
import requests
import random
urls = ['https://media.sproutsocial.com/uploads/2017/02/10x-featured-social-media-image-size.png' , 
'https://blog.uniquez.co/wp-content/uploads/2020/11/%D9%85%D9%82%D8%A7%D8%B5%D8%A7%D8%AA-%D8%B5%D9%88%D8%B1-%D9%85%D9%88%D8%A7%D9%82%B9-%D8%A7%D9%84%D8%AA%D9%88%D8%A7%D8%B5%D9%84-%D8%A7%D9%84%D8%A7%D8%AC%D8%AA%D9%85%D8%A7%D8%B9%D9%8A2.png' , 
'https://media.sproutsocial.com/uploads/2017/08/Facebook-Collection-Video-Ads.png']
words = ['fewfewfwe' , 'fesfewfewf' , 'efefwefwefew']
for url_index, url in enumerate(urls):
    for word in words:
        # 路径新增url序号标识,避免同命名路径覆盖
        path = f"image_{url_index}_{word}.jpg"
        urllib.request.urlretrieve(url, path)

内容的提问来源于stack exchange,提问作者M7MD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:06:04