You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从直链转存大文件至Google Drive?自定义脚本方案可行吗?

无需本地中转,将直链文件转存到Google Drive的方案

一、公开直链的直接转存方法

完全可以实现云端直转,不需要本地存储文件,核心是利用云端环境或工具完成数据流的中转:

  • Google Apps Script 实现:借助Google云端脚本环境,调用Drive API直接抓取直链数据流并写入Drive,全程无本地参与。示例代码:
function saveDirectLinkToDrive() {
  const fileUrl = "你的公开直链地址";
  const targetFolderId = "Google Drive目标文件夹ID";
  
  const response = UrlFetchApp.fetch(fileUrl, {muteHttpExceptions: true});
  if (response.getResponseCode() !== 200) {
    throw new Error("文件抓取失败:" + response.getResponseCode());
  }
  
  const fileBlob = response.getBlob();
  DriveApp.getFolderById(targetFolderId).createFile(fileBlob);
}
  • rclone 命令行工具:配置Google Drive为远程存储后,用copyurl命令直接完成云端复制,可在本地终端或云端服务器(如Google Cloud Shell、VPS)执行,本地仅运行命令不存储文件:
rclone copyurl "你的公开直链地址" gdrive:目标路径 --progress

二、触发式下载直链的转存方案

这类需要点击或特定请求触发的动态直链,通过编程模拟请求逻辑即可实现转存,完全可行:

  • Python 脚本示例:用requests模拟浏览器请求获取真实下载流,再通过pydrive2直接上传到Drive:
import requests
from pydrive2.auth import GoogleAuth
from pydrive2.drive import GoogleDrive

# 模拟请求获取文件流(需根据目标站调整请求头/参数)
def get_download_stream(trigger_url):
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
    }
    # 处理跳转或触发逻辑,获取真实数据流
    response = requests.get(trigger_url, headers=headers, allow_redirects=True, stream=True)
    if response.status_code == 200:
        return response.raw
    raise Exception(f"请求失败,状态码:{response.status_code}")

# 授权并上传到Google Drive
gauth = GoogleAuth()
gauth.LocalWebserverAuth() # 首次运行需完成浏览器授权
drive = GoogleDrive(gauth)

file_stream = get_download_stream("你的触发式下载链接")
new_file = drive.CreateFile({"title": "自定义文件名.ext", "parents": [{"id": "目标文件夹ID"}]})
new_file.SetContentString(file_stream.read())
new_file.Upload()
  • 关键步骤:先用浏览器开发者工具(Network面板)抓包,分析目标站的下载触发逻辑(如是否需要Cookie、特定请求参数),再在脚本中模拟对应请求。

三、注意事项

  • 文件大小限制:Google Apps Script的UrlFetchApp单次请求最大支持100MB,更大文件建议用rclone或云端服务器运行脚本。
  • 配额与权限:确保Google Drive有足够存储空间,API调用不要超出每日配额,授权时需赋予对应文件操作权限。
  • 反爬应对:部分网站会拦截非浏览器请求,需调整请求头、添加代理,必要时处理验证码逻辑。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 02:45:01