医学教育网批量资源下载程序之——获取下载列表

在上一篇博文里,博主登录分析了“医学教育网”里面的网页,知道了怎么获取下载的资源。html

博文:http://my.oschina.net/hevakelcj/blog/366198python

今天,博主在上一次分析的基础上开始写程序。函数


从网站上下载资源可分为两步:网站

(1)经过遍历网站的方试,生成资源列表。spa

(2)根据列表一一下载资源。.net


资源列表是一个树状结构:调试


前面已完成了login()函数,如今咱们能够调用这个函数成功登录并得到课程列表页面。code

能够从这个页面获取课程名称与课程ID。htm

捕获课程名称与课程ID能够用正则式进行。
blog

为了方便调试正则式,咱们直接用咱们在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,那么就能够到每一个课程的下载页面去获取。

(等会儿,博主下楼吃个饭……)

相关文章
相关标签/搜索