如何通过Shell批量获取Dropbox下载链接并使用wget逐个下载文件?
批量获取Dropbox网页版文件夹图片下载链接的两种方案
刚好遇到过类似的需求,给你分享两个可行的方法,一个是临时应急的网页解析法,另一个是更稳定的官方CLI工具法:
方案一:网页解析快速法(无需额外安装工具)
这个方法适合临时批量提取,核心是利用Dropbox共享链接的规律,从网页源码里提取并转换下载链接:
生成文件夹共享链接
打开Dropbox网页版的目标文件夹,点击「共享」→ 创建可查看的共享链接(建议不要开编辑权限,安全第一),得到类似https://www.dropbox.com/sh/abc123xyz/def456?dl=0的链接。提取并转换下载链接
在终端里运行以下命令,记得把共享链接替换成你自己的:curl -s "https://www.dropbox.com/sh/abc123xyz/def456?dl=0" | grep -o 'https://www.dropbox.com/sh/[^"]*?dl=0' | sed 's/dl=0/dl=1/g' > dropbox_image_links.txt简单解释下各部分作用:
curl -s:静默获取网页源码,不输出冗余的进度信息grep -o:精准提取所有符合格式的Dropbox文件预览链接sed 's/dl=0/dl=1/g':把预览模式的链接(dl=0)转换成直接下载的链接(dl=1)- 最后把整理好的下载链接存入
dropbox_image_links.txt文件
批量下载
用wget读取链接文件批量下载,还可以加断点续传和限速参数避免占满带宽:# 基础批量下载 wget -i dropbox_image_links.txt # 断点续传+限速(比如限制为500KB/s) wget -c --limit-rate=500k -i dropbox_image_links.txt
方案二:官方Dropbox CLI工具(稳定可靠,长期推荐)
如果Dropbox网页结构更新导致方案一失效,官方CLI是更稳妥的选择,步骤如下:
安装Dropbox CLI
在Linux终端执行以下命令:wget -O dropbox.py "https://www.dropbox.com/download?dl=packages/dropbox.py" chmod +x dropbox.py登录授权
启动CLI并完成账号授权:./dropbox.py start按照提示复制授权链接到浏览器登录你的Dropbox账号,完成后CLI就会关联你的账号。
生成图片下载链接
先确定目标文件夹在Dropbox里的路径(比如/My Photos/Large Images),然后运行:./dropbox.py list "/My Photos/Large Images" | grep -E '\.(jpg|jpeg|png|gif)$' | awk '{print "https://www.dropbox.com/download?raw=1&path=" $NF}' > dropbox_image_links.txt各部分作用:
./dropbox.py list:列出目标文件夹里的所有文件grep -E:筛选出常见的图片格式文件(可根据需求添加更多格式)awk:拼接成直接下载的链接(raw=1参数表示直接下载原文件)
批量下载
和方案一一样,用wget批量下载即可:wget -c -i dropbox_image_links.txt
注意事项
- 如果目标文件夹包含子文件夹,方案一需要调整grep规则实现递归匹配,方案二可以加
--recursive参数实现递归提取链接 - 下载大文件时,强烈建议开启断点续传(
-c参数),避免中途中断需要重新下载 - 共享链接尽量设置为「仅查看」,防止他人误修改你的文件
内容的提问来源于stack exchange,提问作者user136472




