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

如何不使用Google API仅通过Bash爬取Google Classroom课程作业

纯Bash无Google API下载Google Classroom作业实现方案

之前操作失效的核心原因有两个:

  • 手动提取的Cookie不全,且未携带完整浏览器请求头。Google鉴权不止校验Cookie字段,还会校验User-Agent、Referer等请求头特征,缺项就会判定为非浏览器请求,打回登录重定向页。
  • 从开发者工具复制的gRPC接口请求返回的是Protobuf压缩后的二进制载荷,不是可直接解析的文本或HTML,直接保存自然无法读取作业内容。

操作步骤

1. 提取有效鉴权参数

不要手动导出Cookie文件,在已登录Google Classroom的浏览器中打开目标课程页,按F12调出开发者工具切到网络面板,刷新页面,找到第一个请求目标为classroom.google.com、类型为document的请求,右键选择「复制」-「复制为cURL(bash)」。
把复制的命令粘贴到终端执行,将输出重定向为test.html,本地打开如果能看到登录态下的课程页面内容,说明鉴权参数有效,保留这段命令里的所有Cookie、请求头参数,后续所有请求都复用这部分参数。

核心校验Cookie字段包含SID、HSID、SSID、APISID、SAPISID,缺任意一个都会鉴权失败。

2. 拉取课程与作业列表

Classroom静态页面不直接渲染作业数据,无需解析二进制gRPC响应,直接请求其前端自用的数据接口即可,无需申请官方API密钥:

  • 拉取账号下全部课程列表:将cURL命令的请求URL替换为https://classroom.google.com/u/0/h/courses,返回结果为JSON格式,包含所有已加入课程的ID、名称、教师信息。
  • 拉取指定课程的全部作业列表:将cURL命令的请求URL替换为https://classroom.google.com/u/0/c/[替换为目标课程ID]/list?filter=assignments,返回的JSON中包含该课程下所有作业的ID、标题、发布时间、截止时间、附件链接、作业描述等完整信息,直接保存为本地JSON文件即可。

3. 批量下载作业及附件

安装bash环境下的JSON处理工具jq(多数Linux/macOS包管理器可直接安装),从作业列表JSON中提取所有附件链接,复用之前的鉴权cURL命令批量下载:

# 提取作业列表中所有附件链接
jq -r '.items[] | select(.attachments != null) | .attachments[].driveFile.alternateLink // .attachments[].link.url // .attachments[].youtubeVideo.url' assignments_list.json > attachment_urls.txt

# 创建课程存储目录
mkdir -p "目标课程名"

# 逐行下载附件,跟随跳转
while read -r url; do
  # 下方替换为你之前验证有效的cURL命令,保留所有Cookie和请求头,添加-L参数跟随302跳转,-o指定保存路径
  curl [你的所有鉴权Cookie参数] [你的所有请求头参数] -L "$url" -o "目标课程名/$(date +%s)_$(basename "$url" | cut -d'?' -f1)"
  # 加2秒延迟避免触发频率限制
  sleep 2
done < attachment_urls.txt

避坑说明

  • 提取的Cookie有效期通常为2~3周,过期后重新从浏览器复制一次鉴权参数即可。
  • 请求头中的User-Agent必须和提取Cookie时使用的浏览器完全一致,不要随意修改,否则会触发Google风控跳转到登录页。
  • 复制的原始cURL命令如果带--compressed参数不要删除,该参数用于自动处理gzip压缩响应,删除后可能拿到乱码内容。
  • 下载Google Drive类附件时必须加-L参数跟随重定向,否则只能拿到跳转页拿不到实际文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 16:57:20