Python騰訊視頻彈幕抓取實戰(zhàn)課件_第1頁
Python騰訊視頻彈幕抓取實戰(zhàn)課件_第2頁
Python騰訊視頻彈幕抓取實戰(zhàn)課件_第3頁
Python騰訊視頻彈幕抓取實戰(zhàn)課件_第4頁
Python騰訊視頻彈幕抓取實戰(zhàn)課件_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

《Python爬蟲》騰訊視頻彈幕抓取實戰(zhàn)knowledge—黃貴鋒爬蟲一般步驟以騰訊視頻《天行九歌》為例,詳細(xì)解析騰訊視頻彈幕爬取的細(xì)節(jié)和難點,相對于一般電影或者電視劇評論,彈幕都是在特定劇情下觀眾隨性發(fā)出來的,所以彈幕能夠貼合劇情,進(jìn)行更多有意思的腦洞分析。目標(biāo)數(shù)據(jù)數(shù)據(jù)定位打開騰訊是視頻《天行九歌》視頻隨便選取一集,觀察我們需要抓取的彈幕,可以明顯看出來彈幕不是在視頻上的而是浮動在視頻上面,而且彈幕在視頻播放之后才滾動加載,所以我們大概能得出彈幕是JS異步加載的。按F12審查元素,觀察Network是的請求,播放開始后出現(xiàn)了大量請求,除了大部分圖片外我們發(fā)現(xiàn)了一個比較特殊的請求"danmu",打開這個請求后果然這就是我們要的彈幕數(shù)據(jù)。彈幕URL規(guī)律分析在找網(wǎng)址規(guī)律的時候,有一個小技巧,就是嘗試暴力刪掉目標(biāo)網(wǎng)址中不影響最終結(jié)果的部分參數(shù),再從最精簡的網(wǎng)址中尋找規(guī)律。我們觀察請求參數(shù)的時候注意下RequestMethod。這里是get請求也就是可以直接在瀏覽器請求URL,看能否能拿到數(shù)據(jù)。開始暴力刪除無關(guān)參數(shù),URL?后面拼接的參數(shù)有callback,target_id,session_key,timestamp,_。網(wǎng)址最后一串?dāng)?shù)據(jù)好像是時間戳,刪了試試,結(jié)果不變,是無關(guān)參數(shù)。session_key到底影不影響呢?不知道可以刪除試試。最后精簡成下面這個URL,只有target_id,timestamp兩個是必須參數(shù)彈幕URL規(guī)律分析將第二,三,四個請求拿出來精簡

對比很容易找到規(guī)律,從第一頁到第二頁,timestamp值從15變到了45,第二頁到第三頁從45到75,target_id不變。這個規(guī)律我們可以大膽猜測這個timestamp值是控制頁數(shù)的,并且起始值是15每30秒更新一次。一集視頻彈幕有多少頁呢?如何獲取最后一個timestamp的值?這里有個小技巧,先將視頻拉倒最后觀察timestamp的值是多少,然后給timestamp一個遠(yuǎn)遠(yuǎn)超出最后這個值到瀏覽器請求,返回數(shù)據(jù)為count值為0,說明彈幕已經(jīng)加載完。不同集之間URL分析第73集精簡后的URL

第72集精簡后的URL

對比不同集之間的URL發(fā)現(xiàn)target_id值是不一樣的,猜測這個target_id決定的集數(shù)。timestamp規(guī)律之前已經(jīng)找到,這里我們將精力投入到target_id中尋找它的規(guī)律,但我們研究了幾集之后發(fā)target_id除了%26vid%3D這一串其他的毫無規(guī)律。那我們現(xiàn)在將target_id分成兩半,我將它們稱之為前綴ID,后綴ID。但從URL上面我們是找不到有用線索了,這時候我們必須轉(zhuǎn)換思路回到頁面上來。后綴ID-1在瀏覽視頻頁面的時候,我們發(fā)現(xiàn)播放視頻時在播放屏右邊總會顯示全部集數(shù),點擊對應(yīng)的集數(shù)就會進(jìn)行相應(yīng)的換集跳轉(zhuǎn),所以我們有理由相信target_id相關(guān)的東西就藏在其中。后綴ID-2瀏覽頁面源代碼的時候我們發(fā)現(xiàn)HTML源碼里面有這樣一段JS,包含了所有集的后綴ID,從里面面去獲取會更好(注意F2是正常的已上線的集,F(xiàn)0可能是臟數(shù)據(jù)或者是沒上線的所以我們只需要去F2的數(shù)據(jù)即可獲取到所有的后綴ID)前綴ID-1遺憾的是前綴ID在頁面里面并沒有找到,既然頁面上沒有,那我們再轉(zhuǎn)換下思路。頁面上沒有那么有可能是點擊跳集的時候才請求前綴ID。播放視頻F12在不同集之間切換繼續(xù)觀察Network的請求,每次切換不同集的時候有一個請求regist進(jìn)入了我們得視線點擊進(jìn)去看果然里面有我們需要的前綴ID。前綴ID-2切換不同集觀察URL變化,沒有什么變化都是同一個URL。

但是我們發(fā)現(xiàn)每一集的請求都有一個參數(shù)變化vecIdList,仔細(xì)一看這不就是我們的后綴ID?(注意這里使用post請求,參數(shù)是json格式)

到這里我們

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論