1.分析視頻請(qǐng)求
1
通過(guò)抓包觀察我們發(fā)現(xiàn)視頻是由.ts文件拼接成的每一個(gè).ts文件代表一小段
2
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-729291.html
通過(guò)觀察0.ts和1.ts的url我們發(fā)現(xiàn)他們只有最后一段不同我們網(wǎng)上找到url獲取的包
3
我們發(fā)現(xiàn)index.m3u8中儲(chǔ)存著所有的.ts文件名在拼接上前面固定的url就可以獲取到.ts文件文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-729291.html
2.數(shù)據(jù)獲取和拼接
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網(wǎng)址
res = requests.get(url).text
print(res)
# 正則提取內(nèi)容
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)
# 二進(jìn)制寫(xiě)入到本地
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) #開(kāi)啟線(xiàn)程池
# 定義循環(huán)數(shù)
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("合并成功")
到了這里,關(guān)于下載盜版網(wǎng)站視頻并將.ts視頻文件合并的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!