Skip to content
Ke Hao edited this page Aug 6, 2015 · 9 revisions

0.准备环境

  1. 下载此项目(废话)
  2. 安装 BeautifulSoup4
    pip3 install BeautifulSoup4
  3. 安装 requests
    pip3 install requests

1.从这里开始

  1. 引入包
    from thu_learn import *
  2. 用自己的网络学堂帐号登录
    log(user_id=YOUR_ID, user_pass=YOUR_PASS)1

至此你已经完成网络学堂的登录可以,尽情的使用我所提供的接口了。

2.创建一个初始对象

最高级别的对象为学期2
我们需要创建一个学期对象 semester = Semester()3

3.自由访问对象元素

你可以直接使用点号访问对象的元素
例如:

for course in semester.courses: # 学期下的所有课程
    course.name          # 课程名
    course.id            # 课程号
    ...
    for work in course.works:   # 课程的所有作业
        work.title       # 作业的标题
        work.details     # 作业描述
        work.file.save('Files/') # 作业附件保存
    ...

4.Hello, World.

  1. 将上过的所有课程的所有课件下载到本地file文件夹内
import thu_learn
login()
semester = Semester(current=False)
for course in semester.courses:
    path = 'file/' + course.name
    os.makedirs(path)
    for file in course.files:
        file.save(path)

效果如下,(从来不知道我有这么多的课件……)

  1. 获取所有课程的所有作业及描述
login()
semester = Semester()
for course in semester.courses:
    print('===%r==='% course.name)
    for work in course.works:
        print('\ntitle: %r' %work.title)
        print('details:\n%r'%work.details)

效果如下


附注

[1] 如果不指定账号和密码使用login()则会在运行时提示输入
[2] 详细对相关系请参考wiki
[3] Semester(current=True)可以通过设置current参数控制是本学期还是过去学期。由于网络学堂过去所有课程放在同一页面故Semester(False)得到的是包含过去所有课程的‘学期’