【问题标题】:Not able to download all the images using request python无法使用请求 python 下载所有图像
【发布时间】:2020-05-13 23:33:35
【问题描述】:

我在 csv 文件中有 1k 个图像 url,我正在尝试从这些 url 下载所有图像。我不知道为什么我无法下载所有图像。这是我的代码:

print('Beginning file download with requests')
path = '/home/tt/image_scrap/image2'
for idx, url in tqdm(enumerate(dataset['url']), total=len(dataset['url'])):
    response = requests.get(url,stream=True)
    time.sleep(2)

    filename = url.split("/")[-1]
    with open(path+'/'+filename, 'wb') as f:
        f.write(response.content)

【问题讨论】:

  • 您能具体说明您的问题吗?你有什么错误吗?
  • 我没有收到任何错误,只是无法根据 url 的数量找到下载图像的确切数量。谢谢
  • 下载的文件小于预期值。
  • 好吧,你只使用 URL 的最后一段作为文件名。最后一段中可能有重复项(例如foo/001.jpgbar/001.jpg),因此某些文件会被覆盖。相反,您可以将每个/ 替换为_,或者创建一个反映URI 中路径的目录层次结构,或者只是将idx 附加到每个文件名。
  • 不要在 cmets 中添加新信息,使用 edit 将其添加到您的问题中。否则你可能会错过它。

标签: python url request dataset tqdm


【解决方案1】:

Try / except 语句对于这些类型的“错误”非常有用: 试试这个:

try:
    with open(path+'/'+filename, 'wb') as f:
    f.write(response.content)
except Exception as error:
    print(error)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多