用脚本采用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?? 好吧如果你不知道这个问题的话我 ...
随机推荐
- kettle 使用 CARTE 执行
在执行KETTLE 任务的时候,可以使用本地执行,或者使用carte server执行. 1.启动carte server .\Carte.bat localhost 8080 2.配置子服务器 这里 ...
- window.open打开网址被拦截
window.open打开网址被拦截 标签: js 坑位 通过window.open打开一个网址,在火狐和IE系列浏览器下会拦截掉,除非用户主动点击允许才会成功,这样用户体验基本是恶心到产品的,而产品 ...
- uniapp+django 新手学习步骤记录 (1)
第一次学习uniapp和django,找了一个入门教程遇到坑,记录一下. 1.Django项目和uni-app项目的创建及项目文件讲解_慕容星言的博客-CSDN博客 (1)注意同时安装了python2 ...
- ThreeJs-07操控物体实现家具编辑器
本章节实现效果,通过gui快速添加场景,家具,并且可以快速设置家具实现一个编辑器效果 一.基础设置与物体添加列表 用之前做过的一个案例来改 首先不要这个模型,然后换个背景颜色,并且添加一个网格辅助器 ...
- 那些年,我们一起追的 WLB
2019年,那一年,我29岁. 那一年,"996是福报"的言论在网络上引发舆论轩然大波. 那一年,"大小周"."996"."007 ...
- javac 无效的目标发行版: 11
maven编译出错. JAVA_HOME 设置成了 jdk8,此时 runner 选 11 也是没用的,务必再覆盖掉 JAVA_HOME.
- SpringSecurity认证流程分析
重要组件 SecurityContext 上下文对象,Authentication(认证)对象会放在里面 SecurityContextHolder 用于拿到上下文对象的静态工具类 Authentic ...
- 解决用netty去做web服务时,post长度过大的问题
原文地址 http://my.oschina.net/momohuang/blog/114552 先说一下,本来是想自己写socket ,启动一个简单点的web服务用于接收数据的.写完之后,发现会有各 ...
- TypeNameExtractor could not be found
TypeNameExtractor could not be foundException 一.注意: 如果项目中使用了 knif4j或swagger (knif4j内核中就使用了swagger) 项 ...
- python 检测免费代理ip是否有效
python 检测免费代理ip是否有效,免费ip获取地址https://www.zdaye.com/free/ import requests IPAgents = [ "218.89.51 ...