# 自己定义start ,url,key变量 在E下建立目录dowload目录和name0.txt ,name1.txt, 在 dowload目录下建立q1目录
import importlib
import os
import sys
import _thread
import requests
import time
import shutil
import datetime
import string
#from Crypto.Cipher import AES
# pycryptohome
from Crypto.Cipher import AES
from binascii import b2a_hex, a2b_hex
importlib.reload(sys)
#sys.setdefaultencoding('utf-8')
def download(url,num,open1,end1,pathend):
global xie
global cuocu #判断出错最后不合并
global okok
global start
#num=t
download_path = os.getcwd() + r"\download"
download_path1=download_path
download_path0 = os.getcwd()
if not os.path.exists(download_path):
os.mkdir(download_path)
download_path = os.path.join(download_path, datetime.datetime.now().strftime('%Y%m%d_%H%M%S'))
os.mkdir(download_path)
all_content = requests.get(url).text
file_line = all_content.split("\n")
zb=0
for index, line in enumerate(file_line): # 第二层
if "EXTINF" in line: # 找ts地址并下载
if file_line[index + 1].rsplit("/", 1)[-1]==open1:
zb=1
elif file_line[index + 1].rsplit("/", 1)[-1]==end1 or open1=="EXT-X-ENDLIST" or open1=="die":
zb=0
break
elif file_line[index + 1].rsplit("/", 1)[-1]!=end1 and end1=="EXT-X-ENDLIST" and zb==1 : #返回过载任务
try:
start=file_line[index + 2001].rsplit("/", 1)[-1]
except:
start="die"
print("返回下个线程中"+start)
end1=start
# ""一个线程
if zb==1 and "EXTINF" in line:
pd_url = url.rsplit("/", 1)[0] + "/" + file_line[index + 1] # 拼出ts片
# res = requests.get(pd_url)
res=dowfile(pd_url,0)
num=num+1
c_fule_name =str(num)+ ".ts"
print("准备解密"+c_fule_name)
# 定义文件名
#无密钥处理
#with open(os.path.join(download_path, c_fule_name),'ab') as f:
# f.write(res.content)
# f.flush() '''
#密钥处理
# 密钥 处理225419579aaeeeeb
key= '225419579aaeeeeb&#