Ubuntu 下载google drive上的大文件

Ubuntu 下载google drive上的大文件

配置网络

bash 复制代码
export http_proxy=http://127.0.0.1:8889
export https_proxy=http://127.0.0.1:8889

或者配置进~/.bashrc文件中,永久生效,看个人需求

从google drive上下载文件

要从google drive上下载文件,需要获取下载文件的ID,例如https://drive.usercontent.google.com/download?id=12Dljy04maKIim3mZsR50CEOC3_ROZLCg\&export=download\&authuser=0这个URL中,12Dljy04maKIim3mZsR50CEOC3_ROZLCg就是它的文件ID

小于100M的文件

小于100M的文件可以直接下载,把下面的FILE_ID替换成文件ID,FILENAME替换成要保存下来的文件名即可

sh 复制代码
wget --no-check-certificate 'https://drive.google.com/uc?export=download&id=FILE_ID' -O FILENAME

大于100M的文件

大于100M的文件由于需要进行确认,所以用上述方法只会下载下来网页,需要用下面的脚本进行下载

参考 :https://www.cnblogs.com/marso/p/18711938

sh 复制代码
# 设置文件ID和输出文件名
FILE_ID="1mjIqU-c5q3qMI74XZd3UrkZek0IDTUUh"   # 替换成实际文件ID
OUTPUT="unet.pth"        # 替换成你想保存的文件名
 
# 获取下载页面并保存响应
RESPONSE=$(wget --quiet --save-cookies cookies.txt \
    --keep-session-cookies --no-check-certificate \
    "https://drive.google.com/uc?export=download&id=${FILE_ID}" \
    -O -)
 
# 保存响应以供调试
echo "$RESPONSE" > response.html
 
# 提取完整的下载参数
DOWNLOAD_URL="https://drive.usercontent.google.com/download"
ID=$(echo "$RESPONSE" | grep -o 'name="id" value="[^"]*"' | cut -d'"' -f4)
EXPORT=$(echo "$RESPONSE" | grep -o 'name="export" value="[^"]*"' | cut -d'"' -f4)
CONFIRM=$(echo "$RESPONSE" | grep -o 'name="confirm" value="[^"]*"' | cut -d'"' -f4)
UUID=$(echo "$RESPONSE" | grep -o 'name="uuid" value="[^"]*"' | cut -d'"' -f4)
 
# 检查是否所有参数都已获取
if [ -z "$ID" ] || [ -z "$EXPORT" ] || [ -z "$CONFIRM" ] || [ -z "$UUID" ]; then
    echo "无法提取所有必要的下载参数"
    echo "ID: $ID"
    echo "EXPORT: $EXPORT"
    echo "CONFIRM: $CONFIRM"
    echo "UUID: $UUID"
    exit 1
fi
 
# 构建完整的下载URL
FULL_URL="${DOWNLOAD_URL}?id=${ID}&export=${EXPORT}&confirm=${CONFIRM}&uuid=${UUID}"
 
echo "开始下载文件..."
echo "使用URL: $FULL_URL"
 
# 执行下载
wget --load-cookies cookies.txt \
    --no-check-certificate \
    "$FULL_URL" \
    -O "$OUTPUT"
 
# 检查下载是否成功
if [ $? -eq 0 ]; then
    echo "文件下载成功:$OUTPUT"
else
    echo "下载失败"
    exit 1
fi
 
# 清理临时文件
rm -f cookies.txt
 
exit 0
相关推荐
奔跑的花短裤1 天前
常见问题及参考链接
ubuntu·常见问题·搜狗输入法·git配置
骂我的人都死了1 天前
DevOps架构部署
运维·ubuntu·docker·k8s·github·devops·python3.11
快来吃饭�1 天前
Ubuntu-20.04 gem5 构建并实现一个简单的配置脚本
linux·ubuntu·系统架构
70asunflower1 天前
Docker exec 命令完全解析
linux·ubuntu·docker
bjxiaxueliang1 天前
一文详解md5sum:在Ubuntu上构建自动化文件完整性校验工具
linux·ubuntu·自动化
夜星辰20231 天前
rk3576 Ubuntu 22.04 安装与配置 VNC(TigerVNC + x11vnc)
ubuntu·vnc
qq_273900231 天前
Apptainer 将 Ubuntu 本地 Conda 环境打包为 Singularity(SIF)镜像
linux·ubuntu·conda
小草cys1 天前
【有问题未解决】Ubuntu arm版的桌面分辨率修改
linux·arm开发·ubuntu
鱼是一只鱼啊1 天前
安装WSL及Ubuntu遇到问题安全频道支持出错
linux·安全·ubuntu