下载 Dropbox 文件夹中的所有 .mp4 文件
Download all .mp4 files present in a Dropbox folder
从 Dropbox using the API 下载文件一旦有了访问令牌就很简单了。
然后,使用方法sharing_get_shared_link_file可以简单地运行
import dropbox
dbx = dropbox.Dropbox("ACCESS_TOKEN")
#dbx.users_get_current_account()
with open("test1.mp4", "wb") as f:
metadata, res = dbx.sharing_get_shared_link_file("https://www.dropbox.com/s/kowz06jo7i3xyv2/you_saved_me.mp4?dl=0")
f.write(res.content)
正如您在 URL 中看到的,/s/ 意味着我们正在处理一个文件。
问题是,有时它不是一个文件而是文件所在的文件夹,因此 link 将包含 /sh/。
我怎样才能一个一个地下载特定文件夹中的所有 .mp4 文件 (without .zip)?
作为参考,创建了一个包含三个 .mp4 文件的文件夹 - https://www.dropbox.com/sh/r85vzhq0xxa146s/AAASRlyR-C9ITAd0Cww0Sr9Za?dl=0
如果您共享 link 到包含文件的文件夹,而不仅仅是共享 link 到特定文件,您可以使用 files_list_folder
and files_list_folder_continue
to list the contents of that folder. You can do so by passing in the URL in the shared_link
parameter for files_list_folder
.
结果将包含有关内容的信息,例如每一个的name
。
然后您可以使用它来构建 path
以传递给 sharing_get_shared_link_file
以下载每个所需的文件。
根据您现有的代码和 URL:
,这看起来像这样
import dropbox
dbx = dropbox.Dropbox("ACCESS_TOKEN")
shared_link = dropbox.files.SharedLink(url="https://www.dropbox.com/sh/r85vzhq0xxa146s/AAASRlyR-C9ITAd0Cww0Sr9Za?dl=0")
listing = dbx.files_list_folder(path="", shared_link=shared_link)
# todo: add implementation for files_list_folder_continue
for entry in listing.entries:
if entry.name.endswith(".mp4"):
with open(entry.name, "wb") as f:
# note: this simple implementation only works for files in the root of the folder
metadata, res = dbx.sharing_get_shared_link_file(url=shared_link.url, path="/" + entry.name)
f.write(res.content)
从 Dropbox using the API 下载文件一旦有了访问令牌就很简单了。
然后,使用方法sharing_get_shared_link_file可以简单地运行
import dropbox
dbx = dropbox.Dropbox("ACCESS_TOKEN")
#dbx.users_get_current_account()
with open("test1.mp4", "wb") as f:
metadata, res = dbx.sharing_get_shared_link_file("https://www.dropbox.com/s/kowz06jo7i3xyv2/you_saved_me.mp4?dl=0")
f.write(res.content)
正如您在 URL 中看到的,/s/ 意味着我们正在处理一个文件。
问题是,有时它不是一个文件而是文件所在的文件夹,因此 link 将包含 /sh/。
我怎样才能一个一个地下载特定文件夹中的所有 .mp4 文件 (without .zip)?
作为参考,创建了一个包含三个 .mp4 文件的文件夹 - https://www.dropbox.com/sh/r85vzhq0xxa146s/AAASRlyR-C9ITAd0Cww0Sr9Za?dl=0
如果您共享 link 到包含文件的文件夹,而不仅仅是共享 link 到特定文件,您可以使用 files_list_folder
and files_list_folder_continue
to list the contents of that folder. You can do so by passing in the URL in the shared_link
parameter for files_list_folder
.
结果将包含有关内容的信息,例如每一个的name
。
然后您可以使用它来构建 path
以传递给 sharing_get_shared_link_file
以下载每个所需的文件。
根据您现有的代码和 URL:
,这看起来像这样import dropbox
dbx = dropbox.Dropbox("ACCESS_TOKEN")
shared_link = dropbox.files.SharedLink(url="https://www.dropbox.com/sh/r85vzhq0xxa146s/AAASRlyR-C9ITAd0Cww0Sr9Za?dl=0")
listing = dbx.files_list_folder(path="", shared_link=shared_link)
# todo: add implementation for files_list_folder_continue
for entry in listing.entries:
if entry.name.endswith(".mp4"):
with open(entry.name, "wb") as f:
# note: this simple implementation only works for files in the root of the folder
metadata, res = dbx.sharing_get_shared_link_file(url=shared_link.url, path="/" + entry.name)
f.write(res.content)