python - 使用 Python 抓取时如何在每个图像名称的末尾添加文本
问题描述
我正在从一个网站下载四张图片。我希望将每个图像命名为 SKU,然后是 (1)、(2) 等。
我已经设法编写代码来下载每个文件,但是它当前正在覆盖每个文件,因为它们的名称都相同。
我需要在我的代码中做什么才能使每个代码的末尾都有数字?
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
with open(name + '.jpg','wb') as f:
im = requests.get(link)
f.write(im.content)
print('Writing:', name)
解决方案
您可以使用内置enumerate()
函数 - 这将产生项目及其索引。
for index, image in enumerate(images, start=1):
if(image.get('src').startswith('https://imageapi.partsdb.com.au/api/Image')):
link = (image.get('src'))
name = f'{soup.find("div", {"class": "head2BR"}).text} ({index})'
with open(name + '.jpg','wb') as f:
im = requests.get(link)
f.write(im.content)
print('Writing:', name)
推荐阅读
- javascript - 如何在卡片标题和卡片文本中输入值
- laravel - 通过 laravel 自定义请求类的参数太少
- python - 使用 Python 保存 AutoCAD 文件 (.dwg)
- jquery - 单击导航按钮时,Bootstrap Collapse 未关闭
- c++ - 如何在 Windows 或 Linux 上使用 Skia
- vue.js - 是否可以在 vue 单个文件组件而不是单独的文件中进行测试?
- sql-server - 即使使用 u 作为关键字搜索,SQL CONTAINS 函数也不显示带有“under”一词的记录
- c++ - 关于模板实例化点的一些问题
- javascript - 打开邮递员传递要执行的信息
- android - P2P 多人安卓 NAT 穿越解决方案/库?