醫學教育網批量資源下載程序之——獲取下載列表

在上一篇博文裏,博主登錄分析了「醫學教育網」裏面的網頁,知道了怎麼獲取下載的資源。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,那麼就能夠到每一個課程的下載頁面去獲取。

(等會兒,博主下樓吃個飯……)

相關文章
相關標籤/搜索