在上一篇博文里,博主登陆分析了“医学教育网”里面的网页,知道了怎么获取下载的资源。
博文:
今天,博主在上一次分析的基础上开始写程序。
从网站上下载资源可分为两步:
(1)通过遍历网站的方试,生成资源列表。
(2)根据列表一一下载资源。
资源列表是一个树状结构:
前面已完成了login()函数,现在我们可以调用这个函数成功登陆并获得课程列表页面。
可以从这个页面获取课程名称与课程ID。
捕获课程名称与课程ID可以用正则式进行。
为了方便调试正则式,我们直接用我们在login.py中下载下来的login.html进行分析。写如下脚本来调试正则式:
#!/usr/bin/env python#encoding=utf-8import re as regwith open('login.html', 'r') as f: couse_reg = reg.compile(r' (.*?)') 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,那么就可以到每个课程的下载页面去获取。
(等会儿,博主下楼吃个饭……)