learn2018-autodown icon indicating copy to clipboard operation
learn2018-autodown copied to clipboard

清华大学新版网络学堂课程自动下载脚本 / A python script to clone all files from learn.tsinghua.edu.cn

清华大学新版网络学堂课程自动下载脚本

Features

  1. 跨平台支持:Windows/Mac/Linux支持双击运行(详情点击
  2. 下载所有课程公告
  3. 下载所有课件
  4. 下载所有作业文件及其批阅情况
  5. 下载所有课程讨论
  6. 下载课程信息
  7. 增量更新
  8. 可选下载课程
  9. 随时按Ctrl+C跳过某个文件的下载
  10. 下载助教课程
  11. 可使用cookie登录
  12. 多刷刷有利于后台成绩提高,比如以下第三条记录是我的:

Dependency

python>=3.5, bs4, tqdm, requests

pip3 install -r requirements.txt --user -U

Usage

learn-stdio.py 中显示的参数和下面是一样的。

下载选项

下载当前学期课程(默认)

./learn.py

下载所有学期课程

./learn.py --all

下载指定学期课程

./learn.py --semester 2018-2019-1 2018-2019-3

下载指定课程

./learn.py --course 计算机网络安全技术 计算机组成原理

跳过某几个课程下载

./learn.py --ignore 数据结构 "实验室科研探究(1)"

移除所有文件夹下完全相同的文件

./learn.py --clear --all

以上参数均可组合使用,比如我想更新大二的课程,但是不想下载数据结构、实验室科研探究、中国近现代史纲要(课程文件太大了):

./learn.py --semester 2017-2018-1 2017-2018-2 2017-2018-3 --ignore 数据结构 "实验室科研探究(2)" 中国近现代史纲要

如果想跳过正在下载的某个文件,按Ctrl+C即可。

登录选项(learn-stdio中禁用)

懒得每次输入info账号密码?创建文件.pass,写入info账号和密码之后可以自动登录,或者是:

./learn.py --_pass your_info_file

其中文件格式为

info账号
info密码

使用Cookie登录而不是输入info密码:

./learn.py --cookie your_cookie_filename

其中cookie文件格式可参考 example_cookie.txt

Common Issues

  • 卡在login:网络原因,看看pulse-secure关了没,重跑试试看
  • 500 : Internal Server Error:请拉取最新版的脚本。网络学堂自2020/2/22开启强制https。
  • info_xxx.csv在Mac下打开是乱码:别用office,用mac自带的软件吧 :)