python - urllib urlretrieve 仅将最终图像保存在 url 列表中
问题描述
我对使用 Python 还是很陌生。我一直在尝试设置一个非常基本的网络爬虫来帮助加快我的工作日,它应该从网站的一部分下载图像并保存它们。
我有一个 url 列表,我正在尝试使用它urllib.request.urlretrieve
来下载所有图像。
输出位置 ( savepath
) 会更新,因此它将文件夹中当前的最高数字加 1。
我尝试了很多不同的方法,但urlretrieve
只保存列表中最后一个 url 中的图像。有没有办法下载 url 列表中的所有图像?
to_download=['url1','url2','url3','url4']
for t in to_download:
urllib.request.urlretrieve(t, savepath)
savepath
这是我每次尝试更新的代码
def getNextFilePath(photos):
highest_num = 0
for f in os.listdir(photos):
if os.path.isfile(os.path.join(photos, f)):
file_name = os.path.splitext(f)[0]
try:
file_num = int(file_name)
if file_num > highest_num:
highest_num = file_num
except ValueError:
'The file name "%s" is not an integer. Skipping' % file_name
output_file = os.path.join(output_folder, str(highest_num + 1))
return output_file
解决方案
你在更新savepath
吗?如果您将相同的内容传递savepath
给每个循环迭代,则很可能只是一遍又一遍地覆盖同一个文件。
希望对您有所帮助,祝您编码愉快!
推荐阅读
- r - 保持第 1 行不变 聚合接下来的三个
- reactjs - 带有 jest 和酶的快照写在测试文件中,而不是单独的 .snap 文件中
- javascript - JS For循环在while循环中返回奇怪的结果
- python - 当我向标题添加图标时,Python pygame 窗口关闭,我将如何在 PyCharm 中打开图像,它是一个 png
- first-order-logic - 您如何在谓词/一阶逻辑中写出“矛盾的否定是重言式”的陈述?
- javascript - Cypress-wait-until - 等待元素属性改变
- python - Python数据分析序列号
- python - Minikube,python alpine:找不到python命令
- microsoft-graph-api - 即使我们已成功回复,有时也会丢失已发布的消息和回复
- python - 使用 Python 而不是 R 的字符串距离矩阵花费大量时间