前沿
看到一个视频课程,质量还不错,就想着要是能下载下来就好了。
下载流程
1.网页抓取m3u8地址
2.解析m3u8中的ts地址,iv和key
url = '******?sign=5300d63f160d0c422d3f7ec913ac792c&t=616d4808'
play_list = m3u8.load(url, headers=headers)
file_list = []
all_list = {}
for index, segment in enumerate(play_list.segments):
print(segment.uri)
iv = str(segment).split("IV=")[1].split("\n")[0]
print(iv)
3.python下载encrypt的ts文件
def download_file(file_name):
url = "https://****/" + file_name
res = requests.get(url, headers=headers)
with open(dir_name +"encrypt"+file_name, 'ab') as f:
f.write(res.content)
print("success..."+dir_name + "encrypt" + file_name)
4.python解密ts文件获取decrypt的ts文件
input_file = dir_name + 'encrypt' + item['uri']
output_file = dir_name + 'decrypt' + item['uri']
iv = item['iv'].split('x')[1]
output = os.system(
'openssl aes-128-cbc -d -in ' + input_file + ' -out ' + output_file + ' -nosalt -iv ' + iv + ' -K ' + key + '')
print(output)
5.合并ts文件
cat /Users/developer/Desktop/source/0/decrypt/*.ts > /Users/developer/Desktop/source/video/0-.ts
6.最终成品
说明:
key的获取 下载保存key的文件 vi -b xxx.key :%!xxd
文章主要做技术分享,建议看客不要用做其他用途,否则后果自负。