在Python中使用Dropbox API访问共享链接和下载图像的问题
因此,正如标题所说,我试图从公共共享链接下载图像,因为当我试图使用curl/wget或下载按钮下载图像时,文件会损坏。共有7000个图像,总容量约为2GB 这是我的密码在Python中使用Dropbox API访问共享链接和下载图像的问题,python,dropbox-api,Python,Dropbox Api,因此,正如标题所说,我试图从公共共享链接下载图像,因为当我试图使用curl/wget或下载按钮下载图像时,文件会损坏。共有7000个图像,总容量约为2GB 这是我的密码 import dropbox dbx = dropbox.Dropbox("token") dbx.users_get_current_account() url = "https://www.dropbox.com/sh/shared_link?dl=0" shared_link
import dropbox
dbx = dropbox.Dropbox("token")
dbx.users_get_current_account()
url = "https://www.dropbox.com/sh/shared_link?dl=0"
shared_link = dropbox.files.SharedLink(url=url)
result = dbx.files_list_folder(path="", shared_link=shared_link)
file_list = []
def process_entries(entries):
for entry in entries:
if isinstance(entry, dropbox.files.FileMetadata):
link = dbx.sharing_get_shared_link_file(url, path="/"+entry.name)
print(entry.name)
print(link)
file_list.append([entry.name])
process_entries(result.entries)
while result.has_more:
result = dbx.files_list_folder_continue(result.cursor)
process_entries(result.entries)
print(len(file_list))
该列表正确显示了7000幅图像的长度。不过,要么我做错了什么,要么我不知道如何下载这些文件。有什么想法吗?返回的元组(dropbox.sharing.SharedLinkMetadata、requests.models.Response)
。第一项是元数据,第二项是可以访问实际文件内容的响应对象
您的代码当前只是将该元组保存到一个变量中。如果要下载文件数据,可以执行以下操作:
metadata, res = dbx.sharing_get_shared_link_file(url, path="/"+entry.name)
with open(entry.name, "wb") as f:
f.write(res.content)