python抓取m3u8文件,并提取.ts文件合成视频

 本节抓取手机app视频,charles抓包部分就不演示了,抓包内容如下:

python抓取m3u8文件,并提取.ts文件合成视频

可以直接抓取到.ts视频文件,但全都是视频片段,如果要抓全部的视频,就要找m3u8文件,里边有所有的视频路径,在拼接url前缀,就可以拿到正确的视频url了。

以下是代码部分:

import requests
import os,sys
import re
#读取m3u8文件并提取.ts文件路径
url="http://f1.thishs.com/578a7600fb83e8566227a90f3bd926b4/5E64C7E6/vod2/_definst_/mp4:2020/5/0227/STP12280/STP12280.mp4/chunklist.m3u8"
res=requests.get(url).text
print(res)
url_prifix="http://f1.thishs.com"
ts=re.findall(r"/.*?\.ts",res,flags=re.S)
print(len(ts),ts)
#分别获取.ts文件并以二进制保存
for i in ts:
    u=url_prifix+i
    r=requests.get(u).content
    print(i,u)
    filename=u[-4:] if u[-5:].startswith("_") else u[-5:]
    with open(filename,mode="wb") as file:
        file.write(r)
#利用cmd命令将.ts文件合成为mp4格式
os.system("copy /b *.ts hello.mp4")
print("转换成功")

运行程序,已经可以看到.ts文件被合成为一个.mp4格式的视频了,可以正常播放,就是视频时长不准确

python抓取m3u8文件,并提取.ts文件合成视频

相关推荐