admin管理员组

文章数量:1567915

'阅读本文,需要2分钟'

元旦放假前,老板让我下载一个视频发给同事群看一下,仔细研究后发现腾讯视频下载的都是QLV视频文件。这种文件只能用腾讯播放器打开,难道让我发视频还要附带个播放器?太麻烦了,想着最近在学习Python,就试了一下用Python下载腾讯视频,并保存为MP4格式,说干就干,代码撸起来!1流量分析

起初我想通过流量分析的方式反推出视频原地址,由于涉及到JavaScript相关内容,弄了好久没有结果。然后对视频进行分析,发现腾讯视频有个规律:

将大括号改成要下载视频的vids,经requests请求后得到的内容包含原视频地址所需的域名和key值,经过拼接,即视频地址=url+key+vids.mp4,用这个地址就可以下载该视频了。

下面我们以小猪佩奇的视频为例

给大家详细讲诉一下过程

2解析流量,找到隐含的地址

1).首先我们打开腾讯的视频

比如小猪佩奇,可以看到它的vid是'b0020buglwx' ,既然找到了对应的下载的链接,我们就可以用request来模拟请求,然后构造对应的url,别忘记了替换vids。

2).深入分析json文件

然后我们打印出json文件,从里面分析内容,找出隐含的key和url链接:

既然能找了这些真正有用的信息,如果提取的。不要忘记了,我们有万能的正则表达式,轻松就可以搞定!

3).我们打印一下这个item看一下内容

正则表达式提取下载视频url所需的内容以及视频标题,并构造视频下载地址video_url:

3下载视频

有了上面的视频的真正的url之后,就可以非常轻松的下载下来。

用request库按照stream模式下载,记得写入文件时候用'ab'二进制追加模式进行写入,最后完成之后记得用flush()函数清空缓冲区即可。

然后看一些我们的硬盘目录,就会发现对应的视频已经轻松下载完成了!是不是很简单啊!其实整个代码只有20行,大家可以动手练习一下!

最后一起看一些这个小猪佩奇的视频吧

本文标签: 代码简单腾讯就这么视频