首先,我们随便找一个视频,比如说https://v.qq.com/x/page/e301156k671.html
运用开发者工具抓包,发现貌似并没有什么有用的信息。
但是,我们可以模拟移动设备试试看。运用开发者工具的强大功能,如图:
果然,这一次,找到了疑似关键信息:
这个json请求内含有fvkey
和url
之类的信息。
通过精简地址,把不必要的参数去掉:
1 | https://h5vv6.video.qq.com/getinfo?defaultfmt=auto&otype=json&platform=11001&sdtfrom=v5010&sphttps=1&vid=e301156k671 |
可以看到,这里的vid是e301156k671,其实也就是位于原地址https://v.qq.com/x/page/e301156k671.html
中的字符串。
接下来,我们来看看媒体请求:
经检验,这个地址就是视频的真实地址。
仍然是把不必要的参数去除,我们发现只需要保留vkey
即可。
回到刚才的那个json请求中,通过对比视频地址和其中的信息,我们可以猜想最终地址是url
+fn
+vkey
。
拼凑后成功得到了最终视频地址。
于是,就可以轻松地编写python程序完成上述操作了。
1 | import requests,re,json |
以上是一个较简单的示例,通过视频的vid (例如e301156k671
)获取真实视频地址。
如果要实现更强大的地址解析功能(如清晰度选择),可以自行研究研究。
此方法仅适用于像示例视频一样的单视频,可能存在一些问题。