摘要:剛走完第一步,后面還有很多需要做,如最主要的視頻鏈接獲取,文檔獲取,富文本獲取,請求優化等,具體的且看后面的文章吧
用Python做一個慕客視頻解析搜索工具并放在自己的主頁上 -- 介紹與分析
中國大學MOOC慕客 是一個大學生在線課程學習平臺,在這上面可以查看在線課程視頻,不過有些視頻由于開課時間的原因,結束后是不能觀看的
所以要查看的話只能通過技術手段對其進行解析
完成后的工具如下
慕客視頻解析搜索工具 - 鏈接
下面就項目的大體內容進行介紹
搭建自己的網站首先要搭建自己的網站,當然也可以先跳過這一步,先在本機上跑起來
由于后面都是用Python語言寫的,所以需要搭建一個python web服務器
筆者使用的是flask +nginx + uwsgi+ gevent
相應的教程可參考這篇教程 阿里云部署 Flask + WSGI + Nginx 詳解
如果想使用Tornado的可以自己搜索相應教程
由于flask比較輕便易上手,筆者就用flask來開發了
第一步很明顯就是要明白如何如爬取慕客視頻網站的內容及相應的內容信息組成
首先看 "數據結構 -- 浙江大學" 這個課程的鏈接
http://www.icourse163.org/cou...
從后段的鏈接可以看出,課程的主要信息在于 ZJU-93001?tid=1002019005
其中ZJU是學校的代號,即代表浙江大學
93001是課程的編號,即代表數據結構這門課程對應的id,這里我們稱之為cid
1002019005很明顯就是一個tid了,與93001相同的是,這個id也是唯一的,不同的是tid代表的是課程的學期id,即termId
tid實際的內容是代表第幾次開課,當我們點擊其他次數開課時,可以看到93001是不變的,唯獨tid變了
我們要獲取課程的內容,由上面可以看出,需要有cid和tid,由于請求課程的時候需要用到tid,
下面介紹一下只有cid的情況下如何獲取tid,只有cid的情況下如何拼出整個鏈接
先打開http://www.icourse163.org/cou... 這個網站
按F12進行分析,可以看到一開始的請求是這樣子的
Request URL:http://www.icourse163.org/cou...
Request Method:GET
對當前網頁右鍵,查看源代碼
找到tid和couseid的部分
可以看到
termId對應的那行就是tid了,是當前頁面的tid,如果鏈接沒加tid,一般是最新的tid
courseDto里id那行那就的就是couseid,即cid了
可以用Python的正則表達式庫re對內容進行處理
這里拋磚引玉一下
couseId_pattern = re.compile("window.termDto.*?termId.*?"(d+)",re.S)
由些我們可以通過cid獲取到tid了
整個過程耗時在網頁請求上,但時間只有100多毫秒,基本可以忽略了
從上面我們所講的cid其實是包含了學校代號的,即ZJU-93001而不是93001,當我們只有
93001的時候如何得到ZJU-93001從而能拼出網頁進行訪問解析呢?
由于慕客在對鏈接進行處理時是把ZJU忽略的,只從符號"-"后開始處理,所以我們是通過可以在93001前加個"-"來拼出整個網頁,即http://www.icourse163.org/cou...也是可以訪問到網頁的
理解了最基本的課程代碼組成,后面解析出來的信息也就容易看了。
剛走完第一步,后面還有很多需要做,
如最主要的視頻鏈接獲取,文檔獲取,富文本獲取,請求優化等,具體的且看后面的文章吧
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/40647.html
摘要:它需要將近美元才能買到,但是你可以下載免費的和版本。在需要花費美元來開始你的學習,將會有超過頁的內容和個多小時的視頻供你訪問,還包括以后可以免費更新。 showImg(https://segmentfault.com/img/bVrJpw); 用Python編寫代碼一點都不難,事實上它一直被贊譽為最容易學的編程語言。如果你準備學習web開發, Python是一個不錯的開始,甚至想做游戲...
摘要:會解釋怎樣使用邏輯回歸,隨機森林,和自動化腳本,但都不會深入。這使我在紐約地區積累了超過名粉絲,并且仍在快速增長。我收集了個帳戶,這些帳戶發布了許多關于紐約的優質圖片。以下面這兩篇帖子為例這兩個帖子來自同一個紐約的帳戶。 showImg(https://segmentfault.com/img/remote/1460000019393373); 在家做飯不下館子可以減少開支已經是公開的...
文章目錄 selenium 簡介selenium安裝安裝瀏覽器驅動確定瀏覽器版本下載驅動 定位頁面元素打開指定頁面id 定位name 定位class 定位tag 定位xpath 定位css 定位link 定位partial_link 定位 瀏覽器控制修改瀏覽器窗口大小瀏覽器前進&后退瀏覽器刷新瀏覽器窗口切換常見操作 鼠標控制單擊左鍵單擊右鍵雙擊拖動鼠標懸停 鍵盤控制 seleni...
摘要:是你學習從入門到專家必備的學習路線和優質學習資源。的數學基礎最主要是高等數學線性代數概率論與數理統計三門課程,這三門課程是本科必修的。其作為機器學習的入門和進階資料非常適合。書籍介紹深度學習通常又被稱為花書,深度學習領域最經典的暢銷書。 showImg(https://segmentfault.com/img/remote/1460000019011569); 【導讀】本文由知名開源平...
閱讀 683·2021-11-22 09:34
閱讀 3821·2021-09-22 15:42
閱讀 1327·2021-09-03 10:28
閱讀 1072·2021-08-26 14:13
閱讀 1901·2019-08-29 15:41
閱讀 1423·2019-08-29 14:12
閱讀 3364·2019-08-26 18:36
閱讀 3307·2019-08-26 13:47