You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过Shell批量获取Dropbox下载链接并使用wget逐个下载文件?

批量获取Dropbox网页版文件夹图片下载链接的两种方案

刚好遇到过类似的需求,给你分享两个可行的方法,一个是临时应急的网页解析法,另一个是更稳定的官方CLI工具法:

方案一:网页解析快速法(无需额外安装工具)

这个方法适合临时批量提取,核心是利用Dropbox共享链接的规律,从网页源码里提取并转换下载链接:

  1. 生成文件夹共享链接
    打开Dropbox网页版的目标文件夹,点击「共享」→ 创建可查看的共享链接(建议不要开编辑权限,安全第一),得到类似 https://www.dropbox.com/sh/abc123xyz/def456?dl=0 的链接。

  2. 提取并转换下载链接
    在终端里运行以下命令,记得把共享链接替换成你自己的:

    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文件
  3. 批量下载
    用wget读取链接文件批量下载,还可以加断点续传和限速参数避免占满带宽:

    # 基础批量下载
    wget -i dropbox_image_links.txt
    # 断点续传+限速(比如限制为500KB/s)
    wget -c --limit-rate=500k -i dropbox_image_links.txt
    

方案二:官方Dropbox CLI工具(稳定可靠,长期推荐)

如果Dropbox网页结构更新导致方案一失效,官方CLI是更稳妥的选择,步骤如下:

  1. 安装Dropbox CLI
    在Linux终端执行以下命令:

    wget -O dropbox.py "https://www.dropbox.com/download?dl=packages/dropbox.py"
    chmod +x dropbox.py
    
  2. 登录授权
    启动CLI并完成账号授权:

    ./dropbox.py start
    

    按照提示复制授权链接到浏览器登录你的Dropbox账号,完成后CLI就会关联你的账号。

  3. 生成图片下载链接
    先确定目标文件夹在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参数表示直接下载原文件)
  4. 批量下载
    和方案一一样,用wget批量下载即可:

    wget -c -i dropbox_image_links.txt
    

注意事项

  • 如果目标文件夹包含子文件夹,方案一需要调整grep规则实现递归匹配,方案二可以加--recursive参数实现递归提取链接
  • 下载大文件时,强烈建议开启断点续传(-c参数),避免中途中断需要重新下载
  • 共享链接尽量设置为「仅查看」,防止他人误修改你的文件

内容的提问来源于stack exchange,提问作者user136472

火山引擎 最新活动