使用 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)