从网站上下载资源可分为两步:
(1)通过遍历网站的方试,生成资源列表。
(2)根据列表一一下载资源。
资源列表是一个树状结构:
前面已完成了login()函数,现在我们可以调用这个函数成功登陆并获得课程列表页面。
可以从这个页面获取课程名称与课程ID。
捕获课程名称与课程ID可以用正则式进行。
为了方便调试正则式,我们直接用我们在login.py中下载下来的login.html进行分析。写如下脚本来调试正则式:
#!/usr/bin/env python
#encoding=utf-8
import re as reg
with open('login.html', 'r') as f:
couse_reg = reg.compile(r'<a href="[^"]+cwareID=(\d{6})".*?<span class="bc3">(.*?)</span>')
login_page = f.read()
couse_list = couse_reg.findall(login_page)
for couse_item in couse_list:
print(couse_item[0] + ", " + couse_item[1].decode('gbk'))
这个程序经博主调试过,可以得到如下的结果:
700914, 药学综合知识与技能-基础[精品]
700536, 药物化学-基础[精品]
700925, 药剂学-基础(讲座一)[精品]
700021, 药剂学-基础(讲座二)[精品]
....<此处略>...
700797, (中药师)应试技巧
700837, 药学基础知识
哈哈~课程ID与课程名称就得到了。
有了课程ID,那么就可以到每个课程的下载页面去获取。
(等会儿,博主下楼吃个饭……)
时间: 2025-01-31 23:02:51