赞
踩
点击上方“涛哥聊Python”,选择“星标”公众号
重磅干货,第一时间送达
来源:Leo说点事
元旦放假前,老板让我下载一个视频发给同事群看一下,仔细研究后发现腾讯视频下载的都是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行,大家可以动手练习一下!
最后一起看一些这个小猪佩奇的视频吧
-
- 记住:永远不要在MySQL中使用UTF-8
-
- 用Python扒出B站那些“惊为天人”的阿婆主!
-
- 清华姚班毕业生开发新特效编程语言,99行代码实现《冰雪奇缘》,网友:大神碉堡!创世的快乐
-
-
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。