Python 写入函数未保存所有图像

Python write function is not saving all images

我正在尝试从 hyperlinks (example) 下载图像。为此,我使用了以下函数:

def download_logos(lst):
  image_url = lst[1]
  img_data = requests.get(image_url).content
  df.append([lst[0], img_data, lst[2]])
  filename = 'logos/{}/{}.png'.format(lst[2], lst[0])
  os.makedirs(os.path.dirname(filename), exist_ok = True)
  with open(filename, 'wb') as f:
     f.write(img_data)

变量lst是矩阵中的一行,包括球队名称,图像link和球队参加的比赛。当 运行 这个函数适用于我的所有数据(543 个团队)时,它似乎跳过了很多图像,只下载了 200-300 张图像。

为了查看是否是脚本无法访问 link 和下载图像数据的问题,我尝试分两步执行操作,即首先为所有团队下载图像数据然后将数据保存到磁盘。令我惊讶的是,所有 543 个团队的图像数据都存在,所以当我尝试保存数据时,我希望所有图像都存在。令我惊讶的是,这次保存了大约 500 张图像,这仍然是一个进步。

我无法找出可能导致此问题的原因,因此我希望有人能指出我在哪里犯了错误and/or我该如何解决这个问题。

我设法找到了问题,这与我的下载功能无关。我发现我从网页中检索下载链接的方式不正确,导致我最终得到了重复的链接。由于我将图像链接限制为前 x 个条目,因此我丢失了之后的图像链接。重写检索链接的函数以删除重复项并正确检索链接解决了问题,允许我使用上面定义的函数来下载和保存图像。