国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python爬取Coursera課程資源的詳細過程

2020-02-23 06:07:23
字體:
來源:轉載
供稿:網友

有時候我們需要把一些經典的東西收藏起來,時時回味,而Coursera上的一些課程無疑就是經典之作。Coursera中的大部分完結課程都提供了完整的配套教學資源,包括ppt,視頻以及字幕等,離線下來后會非常便于學習。很明顯,我們不會去一個文件一個文件的下載,只有傻子才那么干,程序員都是聰明人!

那我們聰明人準備怎么辦呢?當然是寫一個腳本來批量下載了。首先我們需要分析一下手工下載的流程:登錄自己的Coursera賬戶(有的課程需要我們登錄并選課后才能看到相應的資源),在課程資源頁面里,找到相應的文件鏈接,然后用喜歡的工具下載。

很簡單是吧?我們可以用程序來模仿以上的步驟,這樣就可以解放雙手了。整個程序分為三個部分就可以了:

登錄Coursera;在課程資源頁面里面找到資源鏈接;根據資源鏈接選擇合適的工具下載資源。

下面就來具體的實現以下吧!

登錄

剛開始時自己并沒有添加登錄模塊,以為訪客就可以下載相應的課程資源,后來在測試comnetworks-002這門課程時發現訪客訪問資源頁面時會自動跳轉到登錄界面,下圖是chrome在隱身模式訪問該課程資源頁面時的情況。

要想模擬登錄,我們先找到登錄的頁面,然后利用google的Developer Tools分析賬號密碼是如何上傳到服務器的。

我們在登錄頁面的表單中填入賬號密碼,然后點擊登錄。與此同時,我們需要雙眼緊盯Developer Tools——Network,找到提交賬號信息的url。一般情況下,如果要向服務器提交信息,一般都用post方法,這里我們只需要先找到Method為post的url。悲劇的是,每次登錄賬號時,Network里面都找不到提交賬戶信息的地址。猜測登錄成功后,直接跳轉到登錄成功后的頁面,想要找的內容一閃而過了。

于是就隨便輸入了一組賬號密碼,故意登錄失敗,果真找到了post的頁面地址,如下圖:

地址為:https://accounts.coursera.org/api/v1/login。為了知道向服務器提交了哪些內容,進一步觀察post頁面中表單中內容,如下圖:

我們看到一共有三個字段:

email:賬號的注冊郵箱password:賬號密碼webrequest:附加的字段,值為true。

接下來就動手寫吧,我選擇用python的Requests庫來模擬登錄,關于Requests官網是這樣介紹的。

Requests is an elegant and simple HTTP library for Python, built for human beings.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 尉氏县| 台前县| 罗源县| 光山县| 苗栗市| 开江县| 芦山县| 江源县| 库尔勒市| 曲沃县| 临澧县| 衡阳市| 汉源县| 新蔡县| 磐安县| 安新县| 宽甸| 武鸣县| 来安县| 佛坪县| 长宁区| 治县。| 蓝田县| 清水河县| 长宁县| 比如县| 中超| 合作市| 深水埗区| 兴城市| 三河市| 陈巴尔虎旗| 芒康县| 广昌县| 宿松县| 曲松县| 广平县| 长垣县| 岑溪市| 宣恩县| 临猗县|