如果你要下载的m3u8文件未加密:
请移步:https://blog.youkuaiyun.com/s_kangkang_A/article/details/103071822
上次做完了没加密的,再次记一下加密的怎么做。
其实效率不高,看看就知道了,可能是线程没开够,也可能是,解密浪费时间。
代码:
import datetime
import os
import re
import threading
import time
from queue import Queue
import requests
from Crypto.Cipher import AES
# 传入链接,完成写文件操作及获取key链接
def parse(url, headers, base_url):
resp = requests.get(url, headers=headers)
# 匹配key链接
key_url = re.search('"(.*?key.key)"', resp.text).group(1).strip()
# print(key_url)
m3u8_text = resp.text
# print(m3u8_text)
# 按行拆分m3u8文档
ts_queue = Queue(10000)
lines = m3u8_text.split('\n')
s = len(lines)
# 找到文档中含有ts字段的行
concatfile = 'cache/' + "zzz" + '.txt'
for i, line in enumerate(lines):
# 我找的链接里,m3u8文件里是js链接,需要替换
if '.js' in line:
line = re.sub('\.js', '.ts', line)
if 'http' in line:
# print("ts>>", line)
ts_queue.put(line)
filename = re.search('([a-zA-Z0-9-_]+\.ts)', line).group(1).strip()
# 一定要先写文