admin管理员组

文章数量:1619748



import re,os,time
save_path='D:\Download'#下载文件储存路径

def read():#读取url.txt中的下载名称,和url
    with open('url.txt', 'r')as f:
        url = [url.replace('\t', '').replace('\n', '') for url in f.readlines()]
        sum=[]
        for i in url:
            num={}
            name = str(i).rsplit('http://')[0]
            url = 'http://' + str(i).rsplit('http://')[-1]
            num['name']=name
            num['url']=url
            num['number']=str(url).rsplit('/')[-1]
            sum.append(num)
        return sum

def check_start(file_name):#判断文件是否开始下载
    tmp=file_name+'.xltd.cfg'
    return os.path.exists(os.path.join(save_path,tmp))

def check_end(fiename):#检查文件是否下载成功
    return os.path.exists(os.path.join(save_path,fiename))

def download(name,url,number):#下载文件
    os.system(r'""D:\Program Files (x86)\Thunder Network\Thunder\Program\ThunderStart.exe"" {url}'.format(url=url))#迅雷ThunderStart.exe的路径
    time.sleep(10)
    print("正在下载 {}".format(name))
    if check_start(number):
        while True:
            time.sleep(2)
            if check_end(number):
                return True
    else:
        return False

def run():
    print("=======视频自动下载程序启动=========")
    sum=read()
    for i in sum:
        if os.path.exists(os.path.join(save_path,'\\'+str(i['name'])+'.'+str(i['number']).rsplit('.')[-1])):
            continue
        download(i['name'], i['url'], i['number'])
            # print("======下载完成======")
        try :
            if os.path.exists(os.path.join(save_path,i['number'])):
                os.rename(os.path.join(save_path,i['number']),save_path+'\\'+str(i['name'])+'.'+str(i['number']).rsplit('.')[-1])
                print("======下载完成======",end='\n')
        except EnvironmentError as f :
            print(f)

run()

本文标签: 迅雷批量视频Python