序
前面兩篇演示了模擬騰訊第三方認(rèn)證的過程,至此已經(jīng)能夠自由登錄學(xué)院網(wǎng)站。下面就要開始探索如何寫一個(gè)簡單的爬蟲,分析教程頁面的視頻信息,進(jìn)而可以將自己感興趣的教程進(jìn)行本地或網(wǎng)絡(luò)存儲(chǔ)。
頁面分析
頁面分析主要使用F12開發(fā)者工具分析頁面元素信息。
主頁導(dǎo)航信息
這里從主頁入手,打開學(xué)院的主頁可以看到左邊的導(dǎo)航信息,如下圖:

通過F12查看元素內(nèi)容,大致如下:
<div class = "lesson-classfy-nav">
<ul>
<li>1</li>
<li>2</li>
...
<li>11</li>
</ul>
</div>
具體分類分級就不是重點(diǎn),主要是每一個(gè)li節(jié)點(diǎn)下的課程鏈接:
比如python課程分類:
<a cgid="23" >Python</a>
由此可以繼續(xù)查看python分類所有課程。
分類課程
打開python分類課程頁面,http://www.jikexueyuan.com/course/python, 頁面如下:

可以看到左側(cè)的導(dǎo)航?jīng)]有變化,主要是右側(cè)的課程項(xiàng),分析HTML元素如下:

在lession-box的div塊內(nèi)可以看到課程《python概述》的地址為:
http://www.jikexueyuan.com/course/2282.html
單個(gè)課程信息
我們繼續(xù)打開《python概述》課程地址,

直到此才瀏覽到真正課程播放視頻的頁面,之前說過,學(xué)院播放使用的video-js實(shí)現(xiàn)的視頻控制,視頻地址可以從source項(xiàng)查詢到,我們看播放器HTML內(nèi)容:

這里本來以為支持HTML5就可以在video塊中看到視頻地址,然而使用開發(fā)者工據(jù)查看源碼并沒有source節(jié)點(diǎn)。不過之前的工作并沒有白費(fèi),因?yàn)樯鲜鍪褂玫臑g覽器開發(fā)者工具查看的,而通過查看頁面源碼HTML文件,是可以看到source地址的。
然后,后面還可以繼續(xù)查看第二節(jié)課程的頁面。
總結(jié)
至此,整個(gè)視頻頁面分析流程就結(jié)束了,從主頁導(dǎo)航到課程分類,然后到單個(gè)課程的單個(gè)章節(jié)。
只關(guān)心單個(gè)章節(jié)的視頻下載,不是最終目的,最好能夠連續(xù)訪問并統(tǒng)計(jì)各個(gè)章節(jié)的視頻信息,最終將采集視頻地址與課程信息做成任務(wù)化的下載是真正的目的。
因時(shí)間有限,本篇還是先解釋頁面原理,下篇開始編碼模擬嗅探頁面信息。