python 下载m3u8视频
使用https://github.com/nilaoda/N_m3u8DL-CLI
# pyhon 根据指定内容分割文本 + m3u8下载器
# pyhon 根据指定内容分割文本 + m3u8下载器
# 下载需要的下载器 https://github.com/nilaoda/N_m3u8DL-CLI
# 下载器下载命令参数 https://nilaoda.github.io/N_m3u8DL-CLI/SimpleGUI.html
# downUrl.txt示例
# 小猪佩奇第一集 https://moviets.tc.qq.com/p0027jbwye1.321004.ts.m3u8?ver=4
# import win32api
# import win32event
# import win32process
import time
import os
import shutil
# pip3 install pypiwin32
def main():
fi = open("C:\\Users\\zhouyi\\Desktop\\downUrl.txt","r",encoding="utf-8") #读取txt内容
i=1
workPath = "c:/V/" #保存位置
findtxt = "http" #指定分割内容
for line in fi : #按行读入文件,此时line的type是str
#line = str(line) #
pos = line.find(findtxt) # 获取到 findtxt 的角标
lenline = len(line) # 获取到 line 的长度
workdir = line[0:pos].replace('\n', '').replace('\r', '').replace('\t', '') # 0到pos1角标是前段文字
downurl = line[pos:lenline].replace('\n', '').replace('\r', '').replace('\t', '')
#print(line)
print(workdir)
print(downurl)
print("开始下载"+str(i))
print("Start : %s" % time.ctime())
down(downurl,workPath,workdir,workdir)
delDir = workPath+workdir
shutil.rmtree(delDir) # 删除文件夹以及里面的所有文件
t = 100
print("延时"+str(t))
time.sleep(t)
print("End : %s" % time.ctime())
print("****"*10)
i=i+1
fi.close()
def down(downurl,workpath,workdir,fileName):
m3u8DownExePath = "C:/N_m3u8DL-CLI_v2.6.3_with_ffmpeg_and_SimpleG/N_m3u8DL-CLI_v2.6.3.exe"
workDir = ' --workDir '+workpath
saveName = ' --saveName '+'"'+fileName+'"'
threads = " --maxThreads 32 --minThreads 16"
#baseUrl = "--baseUrl "+
headers = ' --headers '+ '"User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"'
options = m3u8DownExePath+' '+downurl+workDir+saveName+headers+threads
#print(options)
#win32api.ShellExecute(0,"open",m3u8DownExePath,options,'',1)
print(m3u8DownExePath+options)
os.system(options)
#https://blog.csdn.net/weiwei9363/article/details/50210599
#如果报错 在PATH和程序路径下找不到 ffmpeg.exe 就把 m3u8下载程序F:\N_m3u8DL-CLI_v2.6.3_with_ffmpeg_and_SimpleG 放到path 环境变量下面即可
if __name__ == '__main__':
main()


