使用Python爬虫下载图片时如何在文件名末尾添加序号后缀
解决方法
你可以在循环外声明一个序号计数器,每成功保存一张图片就将计数器自增,拼到文件名里即可。
修改后的代码如下:
# 初始化序号计数器,从1开始 img_index = 1 for image in images: if(image.get('src').startswith('https://imageapi.partsdb.com.au/api/Image')): link = image.get('src') name = soup.find("div",{"class":"head2BR"}).text # 文件名拼接序号 full_file_name = f"{name}({img_index}).jpg" with open(full_file_name,'wb') as f: im = requests.get(link) f.write(im.content) print('Writing:', full_file_name) # 保存完成后序号自增,下一张图片使用新序号 img_index += 1
改动说明
- 循环外新增
img_index变量作为序号计数,初始值设为1,匹配你需要的(1)(2)序号规则 - 文件名生成逻辑新增序号拼接,彻底避免重名覆盖问题
- 可选优化:SKU名称只需要查询一次,你可以把
name = soup.find("div",{"class":"head2BR"}).text这行代码移到for循环外面,减少重复DOM查询,提升运行效率
内容的提问来源于stack exchange,提问作者Lynda Harmer
相关产品推荐
相关产品推荐

