使用 Python 抓取时如何将文本添加到每个图像名称的末尾
How to add Text to end of each image name when scraping with 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)
我正在从一个网站下载四张图片。我希望每张图片都被命名为 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)