醫學教育網批量資源下載程序之——探路

在上一個博文裏,博主已實現用python登錄了 www.med66.com 網站。python

博文:http://my.oschina.net/hevakelcj/admin/edit-blog?blog=357852ide

To www.med66.com網站設計師:我只是想批量下載已花錢購買的資源罷了,沒有惡意。

工具


成功登錄,就意味着進入了網站的大門。剩下的工做就是進去以後在裏面取想到的東西。佈局

以下就是登錄成功後的網頁,咱們須要從這個頁面獲取課程列表。網站

打開Firefox的調試工具,看一下上面的元素是如何佈局的。.net

經過Firefox的調試工具很容易找到課程列表的元素,全部課程列表在 <div class="ul_con_uc_show"> 裏。
而每個<div class="uc_row"> 就是一個課程。
每一個課程的"點擊這裏從頭開始學"後面有個連接。如上 href="http://elearning.med66.com/cware/video/videoList/videoList.shtm?cwareID=700914"設計

咱們分析一下這個連接地址,訪問固定的頁面 http://elearning.med66.com/cware/video/videoList/videoList.shtm
後面帶個參數 cwareID=700914。這個"700914"就是課程的ID號。調試

進入該課程的下載頁面:
視頻

在這個「下載中心」的頁面上能夠下載講義、習題、視頻等。筆者驚訝地發現:下載中心的地址與課程ID有關:
http://elearning.med66.com/cware/download/downloadIndex.shtm?cwareID=700914
這個網址也是固定頁面地址,後面帶一個參數cwareID=700914。
筆者大膽地設想,是否是全部的課程下載頁網都是以cwareID來區分課程呢?htm

筆者打開 「下載中心」 頁面中的 「課程講義WORD文檔下載」 這個連接。觀察其地址:
http://elearning.med66.com/cware/download/wordDownload.shtm?wordType=1&cwareID=700914

筆者再打開 「練習中心WORD文檔下載」,觀察其地址:
http://elearning.med66.com/cware/download/wordDownload.shtm?wordType=2&cwareID=700914

可看出二者只是wordType這個參數不一樣而已。觸類旁通,筆者以表格的形式展現:

下載內容
下載連接
講義 http://elearning.med66.com/cware/download/wordDownload.shtm?wordType=1&cwareID=700914
練習 http://elearning.med66.com/cware/download/wordDownload.shtm?wordType=2&cwareID=700914
手機視頻
http://elearning.med66.com/cware/download/videoDownload.shtm?cwareDownType=down12&cwareID=700914
手機音頻
http://elearning.med66.com/cware/download/videoDownload.shtm?cwareDownType=down13&cwareID=700914
平板視頻
http://elearning.med66.com/cware/download/videoDownload.shtm?cwareDownType=down14&cwareID=700914
平板音頻
http://elearning.med66.com/cware/download/videoDownload.shtm?cwareDownType=down15&cwareID=700914

有了這張表,那麼只要知道了課程的cwareID,就推導出下載該課程的資源的地址了。這是一個重大的破突!


雖然可以進入資源的下載頁面,可是下載頁面並非一下只下載所有,而是一小節一小節地下載。以下爲 「手機視頻」 下載頁面截圖:

用Firefox的調試工具打開看看元素的佈局:

咱們要捕獲表的每一行,抓出小節的名稱與資源連接地址。它的下載地址還不止一個,有4個下載地址可供選擇。咱們用第三個(應該是最不繁忙的一個吧)。

好了,今天就分析到這裏,明天再分析程序流程。盡請期待!

相關文章
相關標籤/搜索