在Python中使用Dropbox API访问共享链接和下载图像的问题

在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

因此,正如标题所说,我试图从公共共享链接下载图像,因为当我试图使用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 = 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)