使用python下载m3u8格式文件
M3U8文件是什么
- m3u8文件是网页视频ts格式文件的索引
- ts是一段视频的切片文件
- 通过按顺序加载切片文件,可以完整播放整个视频,并且便于切换清晰度
python的wget库和time库
- 需要下载m3u8视频,我们需要安装对应的软件库
- wget库用来下载文件,time库防止下载过快,导致触发服务器警报
- 在终端或者cmd输入如下命令进行安装:
pip install wget
pip install time
安装python以及对应的模块
- Windows
进入python官网
点击Download,选择python 3.x.x版本
运行,一直下一步
- Linux
如果是debian衍生系统:
apt update && apt upgrade
apt -y install python
如果是redhat衍生系统:yum update && yum upgrade
yum -y install python
- 验证安装
– Windows系统- 使用win+R,输入CMD,在弹出的命令提示符输入python
– Linux系统 - 按下Ctrl+Alt+T,开启终端,输入python
- 使用win+R,输入CMD,在弹出的命令提示符输入python
当出现python 3.x.x的字样,即表示安装完成
网页寻找ts文件列表
- 我们以某媒体网站为例,打开加载的视频之后,使用F12打开开发者选项
- 我们点击”网络”标签,并且在筛选器中输入”ts”
- 我们此时可以看到我们得到了一个列表,这些ts文件即为完整视频的ts片段
- 我们将视频拖拽到末尾,并注意观察,此时我们就能得到最后一个文件
- 通过观察我们可以发现,文件名是从media_001.ts到media_648.ts
- 我们便成功获取了文件列表
编写python程序
完整的python代码如下:
import time
import wget
# /usr/bin/003.py
# -*- coding=utf-8 -*-
def main():
perfix = "https://cdn.kaooooo.com/xvod/743bd8b89779a7264b64" \
"9623141df78eac27b423258ac81dc2e1da105b5de4a09921f11e97d0da21/media_{}.ts"
for i in range(1,691):
wget.download(url=perfix.format(i),out="F:/download/")
time.sleep(1)
pass
if __name__=="__main__":
main()
使用格式工厂合并视频
- 打开格式工厂,拖入所有的视频,点击视频合并,选中所有即可合并视频