下载盗版网站视频并将.ts视频文件合并

.

1.分析视频请求

1

复制代码
通过抓包观察我们发现视频是由.ts文件拼接成的每一个.ts文件代表一小段

2


复制代码
通过观察0.ts和1.ts的url我们发现他们只有最后一段不同我们网上找到url获取的包

3

我们发现index.m3u8中储存着所有的.ts文件名在拼接上前面固定的url就可以获取到.ts文件

2.数据获取和拼接

python 复制代码
import shutil
import requests
import re
import os
from multiprocessing.dummy import Pool

url ='https://vip.lz-cdn.com/20221109/37176_faf59775/1200k/hls/mixed.m3u8' # m3u8网址

res = requests.get(url).text
print(res)
# 正则提取内容
ts=re.findall(r",\n(.*?)\d+.ts",res,flags=re.S)[0]
print(ts)
ts2=re.findall(r"(\d+).ts",res,flags=re.S)
print(ts2)
start=int(ts2[0])
end=int(ts2[-1])
def xlx(i):
    i=ts+str(i)
        # 拼接完整的ts文件下载链接
    u = 'https://vip.lz-cdn.com/20221109/37176_faf59775/1200k/hls/' + i + ".ts"#拼接url
    r = requests.get(url=u).content
    print(i, u)
        # 二进制写入到本地

    with open('./nihao/' + i + '.ts', mode="wb") as file:
        file.write(r)


if not os.path.exists('./nihao'):
    os.mkdir('./nihao')
else:
    shutil.rmtree('./nihao')
    os.mkdir('./nihao')



pool = Pool(100)                                     #开启线程池
        # 定义循环数
origin_num = [ x for x in range(start,end+1)]

pool.map(xlx, origin_num)

os.system('copy /b ' + r'E:\python\xinfadi\nihao\*.ts ' + r'E:\python\xinfadi\new.mp4')
print("合并成功")
相关推荐
子竹聆风2 小时前
Feapder框架UpdateItem使用技巧:如何优雅地实现"只更新有值字段"
爬虫
数据智能老司机7 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机8 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机8 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机8 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i8 小时前
drf初步梳理
python·django
每日AI新事件8 小时前
python的异步函数
python
这里有鱼汤9 小时前
miniQMT下载历史行情数据太慢怎么办?一招提速10倍!
前端·python
databook18 小时前
Manim实现脉冲闪烁特效
后端·python·动效
程序设计实验室18 小时前
2025年了,在 Django 之外,Python Web 框架还能怎么选?
python