寫在前面:此部落格僅用于參考學習,代碼中部分網址已删
準備工作
- python
- burpsuite
視訊爬取
視訊網址:https://v.qq.com/x/cover/mzc00200xnrv1u5.html
使用h5播放器播放網址内視訊,右擊選擇複制調試資訊
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2csEzaE50dFpXTwEleYhnRzwEMW1mY1RzRapnTtxkb5ckYplTeMZTTINGMShUYfRHelRHLwEzX39GZhh2css2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xyayFWbyVGdhd3LcV2Zh1Wa9M3clN2byBXLzN3btg3Pn5GcuITM3UjNxcTM0EDNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
将複制好的調試資訊找個js線上解析工具進行解析,解析好的資料如下,發現視訊m3u8相關檔案位址
對vurl進行解碼
通路解碼後的網址,可以下載下傳一個m3u8檔案,裡面儲存了視訊各片段的位置
burpsuite抓包
(也可使用chrome自帶的network進行篩選,但我感覺用不來)
播放正片,并進行攔截,抓包結果如下:
由其中的一個帶有ts片段的包得到所有視訊片段的上級網址,由此可以得到所有視訊片段的真實位址。
視訊下載下傳
由上所得編寫python腳本下載下傳視訊
import os
import requests
from bs4 import BeautifulSoup
header = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36"
}
base_url='https://apd-adeb75b3bf37b1aa406b04cc29fda836.v.smtcdns.com/varietyts.tc.qq.com/AZCNwLTijzPtfQ76cdHIH9BK7fMxN1rPKprjstzdwyuE/uwMROfz2r5zAoaQXGdGnC2df644E7D3uP8M8pmtgwsRK9nEL/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/'
fp=open(r'C:\Users\19871\Desktop\z00368kgril.321002.ts.m3u8','r')
with open(r'C:\Users\19871\Desktop\test.ts','wb') as f:
while True:
line=fp.readline().replace('\n','')
if line:
if line[0]!='#':
url=base_url+line
r=requests.get(url,headers=header)
f.write(r.content)
f.flush()
else:
break
f.close()
fp.close()
print('爬取完畢')
下載下傳完成後如下:
正常播放