半自动视频下载

import requests,re
from tkinter.filedialog import asksaveasfile

savef=asksaveasfile('wb')

url_ts=input('输入一个源地址:')

def f_src_anal(url_ts):
    print('src_ancl called')
    url=''
    num_l=len(re.findall('\d*?\.ts',url_ts)[0])-3
    url_ts = re.sub('\d*?\.ts','',url_ts)
    for i in range(1,65530):
        i = str(i).format()
        url = url_ts+'{:0>{}}'.format(i,num_l)+'.ts'
        yield url

def f_ques(url_ts):
    print('ques called')
##    while 1:
##        url = f_src_anal(url_ts)
    for url in f_src_anal(url_ts):
        print(url)
        try:
            r = requests.get(url,timeout=30,headers={'Connection':'close'})
            r.raise_for_status()
        except Exception as e :
            print(e)
            if r.status_code == 404:
                        print('最后一个')
                        print(url)
                        return 
            for ret in range(20):
                try:
                    print('重连',ret)
                    r = requests.get(url,timeout=30,headers={'Connection':'close'})
                    break
                except Exception  as e:
                    print(e)
                    if r.status_code == 404:
                        print('最后一个')
                        print(url)
                        return 
                    continue
            
        savef.write(r.content)
        savef.flush()

if __name__ == '__main__':
    f_ques(url_ts)
    
            

你可能感兴趣的:(半自动视频下载)