微博視頻播放頁地址有如下幾類:
- http://weibo.com/p/230444897a6a26db6d0226093f2d5819cf1e90
- http://weibo.com/tv/v/EgaAp1dcM
- http://weibo.com/2142058927/Eg0OBB5A5
對(duì)于第1類播放頁地址,在網(wǎng)頁源碼中找flashvars,得到:
flashvars=\"file=http%3A%2F%2Fus.sinaimg.cn%2F001uS3Ssjx06SrkpkMWP0104010000200k01.m3u8%3FKID%3Dunistore%2Cvideo%26Expires%3D1478510437%26ssig%3Dp0HUXh1hy%252B&fid=1034:897a6a26db6d0226093f2d5819cf1e90&uid=3655689037&monitor=&vf=vshow\"
從flashvars中提取出m3u8地址:
http://us.sinaimg.cn/001uS3Ssjx06SrkpkMWP0104010000200k01.m3u8?KID=unistore,video&Expires=1478510437&ssig=p0HUXh1hy%2B
請(qǐng)求m3u8地址,得到m3u8文件內(nèi)容:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:90
#EXTINF:89.210000,
003AnpiMjx06Srkp3iQg01040100X0RL0k01.mp4?KID=unistore,video&Expires=1478510437&ssig=Bjn4hLbyDV
#EXT-X-ENDLIST
m3u8文件內(nèi)容中有視頻分段的路徑,在路徑前面加上域名前綴 http://us.sinaimg.cn/ 就得到視頻的真實(shí)地址了。
對(duì)于第2類和第3類播放頁地址,在網(wǎng)頁源碼中搜索字符串video_src,得到的結(jié)果為下面兩種情形之一:
- video_src=http%3A%2F%2Fus.sinaimg.cn%2F000XVbmgjx0769KU6MY80104010000200k01.m3u8%3FExpires%3D1478511257%26ssig%3DyfqjrL2U8N%26KID%3Dunistore%2Cvideo
- video_src=http%3A%2F%2Fgslb.miaopai.com%2Fstream%2FN2iyg62w8TAd-cj~bSq0oA__.mp4%3Fyx%3D%26refer%3Dweibo_app
第1種情形中,video_src是一個(gè)m3u8地址,接下來的解析過程與前面所說的一樣,無需贅言。
第2種情形中,video_src本身就是視頻的真實(shí)地址。