用脚本采用wget方式直接下载谷歌云盘里面的文件实操
- 方案一:先在本地下载,然后再上传到服务器。
- 方案二:直接在服务器上下载。
要通过 wget 下载谷歌云盘中的大文件,你需要一些额外的步骤,因为 Google Drive 并不直接允许通过 wget 下载文件。通常,你需要使用 Google Drive 的共享链接,并处理一些重定向问题。以下是如何用 wget 下载 Google Drive 上的大文件的步骤:
获取文件的共享链接:首先,你需要确保文件在 Google Drive 中是共享的,并获取共享链接。链接通常看起来像这样:
https://drive.google.com/file/d/FILE_ID/view?usp=sharing
在这个链接中,
FILE_ID是文件的唯一标识符。
这里获取到https://drive.google.com/file/d/1mjIqU-c5q3qMI74XZd3UrkZek0IDTUUh/view?usp=sharing,所以它的file_id=1mjIqU-c5q3qMI74XZd3UrkZek0IDTUUh
使用 wget 下载文件:你可以使用以下的命令来下载文件
wget --no-check-certificate 'https://drive.google.com/uc?export=download&id=FILE_ID' -O FILENAME
将
FILE_ID替换为文件的 ID,将FILENAME替换为你希望保存的文件名。处理重定向问题:由于 Google Drive 的大文件下载会遇到额外的确认步骤(例如安全扫描),你可能需要绕过这一过程。如果文件较大(超过100MB),你可能需要通过
wget先获取一个确认文件(通常是confirm),然后才会继续下载。你可以使用下面的脚本来解决这一问题:
#!/bin/bash # 设置文件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 04.使用方法:
- 将脚本保存为文件(例如:download_gdrive.sh)
- 修改FILE_ID为你要下载的文件ID
- 修改OUTPUT为你想保存的文件名
- 给脚本添加执行权限:
chmod +x download_gdrive.sh - 运行脚本:
./download_gdrive.sh
这个脚本应该能够正确处理Google Drive的病毒扫描警告页面,并成功下载文件。
用脚本采用wget方式直接下载谷歌云盘里面的文件实操的更多相关文章
- 打造百度网盘备份利器:自动备份Linux VPS文件和多线程下载百度网盘资源
前一段时间国内的各大网盘百度云盘,金山快盘,360云盘,华为网盘为争夺用户上演空间容量博弈,网盘商们还固执地以为中国的网民都不懂网络技术,可以像某公司那样用一些数字的手段来忽悠用户,参与到网盘商的数字 ...
- Xshell通过ssh方式连接Linux服务器,通过Xftp进行文件传输
准备工作: 一.Linux服务器一台,并配置ssh(本文以腾讯云服务器为例). 1.生成秘钥 打开腾讯云控制台,依次选择:总览->云服务器->SSH秘钥 点击创建秘钥,输入秘钥名称,点击确 ...
- 使用wget下载百度云资源
目录 使用wget下载百度云资源 一.材料准备: 二.步骤 三.总结 使用wget下载百度云资源 一.材料准备: [BaiduPan explorer]谷歌插件,可以加载文件的真实下载地址 [Chro ...
- 采用二进制文件方式安装loki和promtail
1. 下载二进制文件 官方下载地址:https://github.com/grafana/loki/releases 下载如图所示的这俩文件,Grafana采用yum方式安装 cd /usr/loca ...
- [No00006B]方便的网络下载工具wget 可下载网站目录下的所有文件(可下载整个网站)
wget是linux下命令行的下载工具,功能很强大,它能完成某些下载软件所不能做的,比如如果你想下载一个网页目录下的所有文件,如何做呢?网络用户有时候会遇到需要下载一批文件的情况,有时甚至需要把整个网 ...
- shell脚本的执行方式
编写好的shell脚本(如:test),可以采取两种方式进行运行: 一. $ sh test 一般不采用这种调用方式,尤其不采用"sh<test"的调用方式,因为这种方式将禁 ...
- wget 下载百度网盘文件
上传文件到服务器,有许多种方法,罗列一下我用过的 xftps之类的工具 rz tz命令 git 上传到码云 通过wget方式,上传文件到百度网盘,七牛云等只要支持wget方式下载即可 下面介绍一下怎么 ...
- 采用DoGet方式提交中文,乱码产生原因分析及解决办法
前段时间某功能在测试机器上出现乱码,情况如下: 现象: 调试搜索功能时,通过doGet方法提交到后台的中文参数在本地和开发测试机器上为乱码(Action层),在测试人员测试机器 ...
- Ubuntu16.04采用FastCGI方式部署Flask web框架
1 部署nginx 1.1 安装nginx服务 root@desktop:~# apt-get install nginx -y 1.2 验证nginx服务是否启动 root@des ...
- 在Linux环境下采用压缩包方式安装JDK 13
本文地址:https://www.cnblogs.com/oberon-zjt0806/p/11663731.html 可以,转载,出处,格式,懂?? 什么是JDK?? 好吧如果你不知道这个问题的话我 ...
随机推荐
- spring cloud 使用nacos 作为配置中心
概要 nacos 可以作为服务注册发现中心,也可以作为配置中心,作为配置中心的时候,系统的配置可以做到自动刷新,即当配置服务器的数据发生更改时,客户端的配置会进行自动的更新. 实现步骤 1.修改mav ...
- seldom-platform:颠覆传统的自动化测试平台
seldom-platform:颠覆传统的自动化测试平台 seldom-platform是一个自动化测试平台,其特点是让会写代码的测试人员能够通过seldom框架高效地完成自动化用例的编写,并将剩下的 ...
- shp文件及附属
主文件 .shp - 用于存储要素几何的主文件,之前分享过该文件的结构详解:必需文件. .shx - 用于存储要素几何索引的索引文件:必需文件. .dbf - 用于存储要素属性信息的 dBASE 表, ...
- 服务迁移之《tomcat性能优化》
删除无用的connector,因为一般的tomcat前面都会挂有nginx服务 增加connnector使用的线程池的数量 删除没有用的listener host优化项:autoDeploy设置为fa ...
- Windows更改远程桌面端口
为了远程安全,默认在3389改为别的端口. 本示例为3389改为53389 1.步骤:打开"开始→运行",输入"regedit",打开注册表,进入以下路径: [ ...
- java - 正则表达式替换Spring @RequestMapping URL中的@PathVariable值
我在接口(只是为了保存常量)中有Spring MVC URL的定义,例如: String URL_X = "/my-url/{id:[0-9]*}"; String URL_Y = ...
- Java代码打成jar后 classgetClassLoadergetResource("")返回为null
用maven打成jar包后,Main.class.getClassLoader().getResource("")为null. 示例: public static void mai ...
- 在 Vercel 部署随机图 API
在本文中,将详细介绍如何在 Vercel 平台上部署一个具有分类功能的随机图片 API.通过这个 API,用户可以根据不同的分类获取随机图片链接,并且还可以从所有分类中随机获取一张图片. 项目结构 首 ...
- 《入梦》Revisited
寝室里有本<美丽新世界>(Brave New World),书页翻过灯塔里上升的螺旋阶梯,还有大概三分之一的篇幅是<重返美丽新世界>(Brave New World Rev ...
- Solution Set -「LOCAL」冲刺省选 Round VII
\(\mathscr{Summary}\) 三道结论题,毁灭吧. A 题一开始思路偏了,发现答案最高 bit 能固定之后接下来的结论就顺理成章了. B 题哈哈哈哈又是经典:我结论猜对了,然 ...