【发布时间】: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.jpg和bar/001.jpg),因此某些文件会被覆盖。相反,您可以将每个/替换为_,或者创建一个反映URI 中路径的目录层次结构,或者只是将idx附加到每个文件名。 -
不要在 cmets 中添加新信息,使用 edit 将其添加到您的问题中。否则你可能会错过它。
标签: python url request dataset tqdm