Python write函数没有保存所有图像

2024-05-31 23:35:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从超链接(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是矩阵中的一行,其中包括团队名称、图像链接和团队参与的比赛。当对我的所有数据(543个团队)运行这个函数时,它似乎跳过了很多图像,只有200-300个图像被下载。你知道吗

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

我无法找出导致此问题的原因,因此我希望有人能指出我在哪里犯了错误和/或如何解决此问题。你知道吗


Tags: 数据函数图像imageurlimgdataos
1条回答
网友
1楼 · 发布于 2024-05-31 23:35:39

我设法找到了问题,这与我的下载功能无关。我发现我从一个网页中检索下载链接的方式是不正确的,导致我最终得到了重复的链接。因为我限制了图片链接到前x个条目,所以我错过了之后的图片链接。重写检索链接的函数以消除重复并正确检索链接修复了问题,允许我使用上面定义的函数下载和保存图像。你知道吗

相关问题 更多 >