记录一次网站视频分析过程,附主要代码
昨天无事,发了一个西瓜视频的抓包过程分析。今天一看,移动到“福利经验区”了。没意思。今天继续发一个其他网站的视频分析,也是浏览器抓包并分析的过程,同时附上用python直接通过链接获取视频的方法,希望能在这里站住脚。闲话不多说,直接开搞。
这次选取的视频网站比较简单,地址如下:
http://www.xjxsjyy.com/xp/dieyingzhongzhong5-1-1.html
还是老一套,直接浏览器打开网址,按F12打开开发人员工具。查找视频播放的位置:
利用python获取当前网址的数据:
>>> url = "http://www.xjxsjyy.com/xp/dieyingzhongzhong5-1-1.html"
>>> msg = requests.get(url,headers=headers,timeout=20)
>>> msg.encoding
'utf-8' #获取网址返回源码的编码格式
>>> chardet.detect(msg.content)
{'encoding': 'utf-8', 'confidence': 0.99, 'language': ''} #检查网址返回源码的编码格式,看看是否与默认编码一致。如果不一致则替换
>>> m = msg.text
好了,现在已经获取到返回数据,开始查找视频位置对应的源码:
>>> m.find("<video class=")
-1
没找到?那就再从浏览器中查找。继续F12:
可以看到“index.m3u8”字样。ok,再去获取的源码中寻找:
>>> m.find("player_data")
11685 #ok,找到了。
>>> m
'player_data={"flag":"play","encrypt":0,"trysee":0,"points":0,"link":"\\/xp\\/dieyingzhongzhong5-1-1.html","link_next":"","link_pre":"","url":"https:\\/\\/qingsong.cc-zui.com\\/20170903\\/aSRyJZCO\\/index.m3u8","url_next":"","from":"zuidam3u8","server":"no","note":""}' #数据没问题
>>> exec(m)
>>> player_data['url'].replace("\\/","/")
'https://qingsong.cc-zui.com/20170903/aSRyJZCO/index.m3u8' #数据没问题
换地址重新获取数据:
>>> msg = requests.get(player_data['url'].replace("\\/","/"),headers=headers,timeout=20)
>>> msg.text
'#EXTM3U\n#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=600000,RESOLUTION=720x406\n600kb/hls/index.m3u8'
原来是指向另一个m3u8文件。好吧,继续获取数据:
>>> url = player_data['url'].replace("\\/","/")
>>> msg = requests.get(url[:url.rfind("/")+1]+msg.text,headers=headers,timeout=20)
>>> msg.text[:200]
'#EXTM3U\n#EXT-X-VERSION:3\n#EXT-X-TARGETDURATION:10\n#EXT-X-MEDIA-SEQUENCE:0\n#EXTINF:1.400000,\n8XHKU3zx4542000.ts\n#EXTINF:9.240000,\n8XHKU3zx4542001.ts\n#EXTINF:3.000000,\n8XHKU3zx4542002.ts\n#EXTINF:10.0000'
这次没问题了,获取到一系列*.ts文件名称。剩下的我就不用多说了吧?直接爬取下来所有的ts文件,然后用ffmpeg合并。合并方法我已经在上一篇文章中说过了,这里不再赘述。
打字不易,免费评分给点呗?{:1_937:} {:1_937:} {:1_937:} 感谢大佬的分析 又要取名字 发表于 2021-3-24 09:47
猫抓会更省事儿
毕竟是别人的软件,谁知道毛抓里面有什么代码…………说不定还藏着暗门什么的……再说,我也是无聊了,随便发点东西 :lol 感谢楼主分享 感谢分享 今天的分已经给了,感谢分享,明天来给热心 感谢分享教程
页:
[1]