以人人視頻播放頁URL http://rr.tv/#/video/172278 為例萍歉,說下真實地址解析過程因痛。
顯然燕耿,從播放頁URL中可以得到一個ID:172278低千,這就是視頻ID.
接著猪腕,調(diào)用接口 http://web.rr.tv/v3plus/video/getVideoPlayLinkByVideoId 以視頻ID為表單參數(shù)發(fā)個POST請求:
video_id = 172278
api_url = 'http://api.rr.tv/v3plus/video/getVideoPlayLinkByVideoId'
r = requests.post(api_url, data={'videoId': video_id})
print r.content
上述請求返回的結(jié)果如下:
{"code":"0001","msg":"您的客戶端版本過低冗澈,請盡快更新!","data":{}}
經(jīng)過排查發(fā)現(xiàn)陋葡,請求header中需要帶上如下客戶端版本信息:
headers = {
'clientVersion': '0.1.0',
'clientType': 'web',
}
這些客戶端信息可以在 http://rr.tv/static/js/app.576fc11b501f0b441c14.js 這個js文件中找到亚亲。
POST請求加上header后的返回結(jié)果如下:
{"code":"0000","msg":"","data":{"playLink":"http://qcloud.rrmj.tv/2017/06/05/344109295cd24560b55e7d1bc3fe6350.mp4.f40.mp4?sign=55eae555781939317c9eb7fe794f9c6e&t=59354d8a"}}
data中的playLink即為視頻真實地址。