日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

python 下載m3u8視頻的示例代碼

瀏覽:135日期:2022-07-05 17:32:28

import requestsimport osimport datetimeimport threadingclass xiazai(): def __init__(self,url): self.url = url work_dir = os.getcwd() # print(work_dir) # 用來保存ts文件 file_dir = os.path.join(work_dir, ’file_tmp’) if not os.path.exists(file_dir): os.mkdir(file_dir) self.headers ={ ’user-agent’: ’Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36’ } self.savefile(self.url) def savefile(self, file_url): r = requests.get(file_url, headers=self.headers) # 合成帶有hls的m3u8地址 if r.text.split(’n’)[-1] == ’’: hls_mark = r.text.split(’n’)[-2] # 以防n結(jié)尾 else: hls_mark = r.text.split(’n’)[-1] self.url_m3u8_hls = file_url.replace(’index.m3u8’, hls_mark) #file_m3u8 = url_m3u8_hls.split(’/’)[-1] self.duqu() #print(url_m3u8_hls) def duqu(self): r = requests.get(self.url_m3u8_hls, headers=self.headers).text text_bytes = r.split(’n’) # 篩選以.ts結(jié)尾的行 # 有些情況下可能是以其他格式的文件,比如png,下載后修改后綴即可 # ts_name = [i for i in text_string if i.endswith(’.ts’)] self.ts_time = [i for i in text_bytes if i.startswith(’#EXTINF’)] #self.shijian(dm_time) #print(dm_time) self.ts_neirong = [i for i in text_bytes if not i.startswith(’#’)] self.ts_neirong.pop() self.threads = [] self.threads.append(threading.Thread(target=self.xiazai)) self.threads.append(threading.Thread(target=self.shijian)) for t in self.threads: # print(t) t.start() #self.xiazai(url_m3u8_hls) # print(ts_neirong) def shijian(self): self.dm_time = 0 for i in range(len(self.ts_time)): ts_time1 = self.ts_time[i].replace(’#EXTINF:’, ’’) ts_time2 = ts_time1.replace(’,’, ’’) self.dm_time = float(ts_time2) + self.dm_time shichang_time = str(datetime.timedelta(seconds=self.dm_time)) print(’視頻時(shí)長(zhǎng):%s’ % shichang_time) def xiazai(self): liebiao=[] for i in range(len(self.ts_neirong)): hls_mark = self.url_m3u8_hls.split(’/’)[-1] url_xiazai = self.url_m3u8_hls.replace(hls_mark, self.ts_neirong[i]) liebiao.append(url_xiazai) #print(url_xiazai) # r = requests.get(url_xiazai, headers=self.headers) # with open(’file_tmp/’+ts_neirong[i], ’wb’) as f: # f.write(r.content) # f.close() x = self.bisector_list(liebiao, 10) self.xiancheng0=x[0] self.xiancheng1=x[1] self.xiancheng2=x[2] self.xiancheng3=x[3] self.xiancheng4=x[4] self.xiancheng5=x[5] self.xiancheng6=x[6] self.xiancheng7=x[7] self.xiancheng8=x[8] self.xiancheng9=x[9] self.threads2 = [] self.threads2.append(threading.Thread(target=self.xiancheng_xiazai1)) self.threads2.append(threading.Thread(target=self.xiancheng_xiazai2)) self.threads2.append(threading.Thread(target=self.xiancheng_xiazai3)) self.threads2.append(threading.Thread(target=self.xiancheng_xiazai4)) self.threads2.append(threading.Thread(target=self.xiancheng_xiazai5)) self.threads2.append(threading.Thread(target=self.xiancheng_xiazai6)) self.threads2.append(threading.Thread(target=self.xiancheng_xiazai7)) self.threads2.append(threading.Thread(target=self.xiancheng_xiazai8)) self.threads2.append(threading.Thread(target=self.xiancheng_xiazai9)) self.threads2.append(threading.Thread(target=self.xiancheng_xiazai10)) for t in self.threads2: # print(t) t.start() def xiancheng_xiazai1(self): #print(self.xiancheng0) for i in self.xiancheng0: #print(i) r = requests.get(i, headers=self.headers) mingzi = i.split(’/’)[-1] with open(’file_tmp/’+mingzi, ’wb’) as f:f.write(r.content) f.close() def xiancheng_xiazai2(self): #print(self.xiancheng1) for i in self.xiancheng1: #print(i) r = requests.get(i, headers=self.headers) mingzi= i.split(’/’)[-1] with open(’file_tmp/’+mingzi, ’wb’) as f:f.write(r.content) f.close() def xiancheng_xiazai3(self): #print(self.xiancheng2) for i in self.xiancheng2: #print(i) r = requests.get(i, headers=self.headers) mingzi = i.split(’/’)[-1] with open(’file_tmp/’+mingzi, ’wb’) as f:f.write(r.content) f.close() def xiancheng_xiazai4(self): #print(self.xiancheng3) for i in self.xiancheng3: #print(i) r = requests.get(i, headers=self.headers) mingzi = i.split(’/’)[-1] with open(’file_tmp/’+mingzi, ’wb’) as f:f.write(r.content) f.close() def xiancheng_xiazai5(self): #print(self.xiancheng4) for i in self.xiancheng4: #print(i) r = requests.get(i, headers=self.headers) mingzi = i.split(’/’)[-1] with open(’file_tmp/’+mingzi, ’wb’) as f:f.write(r.content) f.close() def xiancheng_xiazai6(self): #print(self.xiancheng5) for i in self.xiancheng5: #print(i) r = requests.get(i, headers=self.headers) mingzi = i.split(’/’)[-1] with open(’file_tmp/’+mingzi, ’wb’) as f:f.write(r.content) f.close() def xiancheng_xiazai7(self): #print(self.xiancheng6) for i in self.xiancheng6: #print(i) r = requests.get(i, headers=self.headers) mingzi = i.split(’/’)[-1] with open(’file_tmp/’+mingzi, ’wb’) as f:f.write(r.content) f.close() def xiancheng_xiazai8(self): #print(self.xiancheng7) for i in self.xiancheng7: #print(i) r = requests.get(i, headers=self.headers) mingzi = i.split(’/’)[-1] with open(’file_tmp/’+mingzi, ’wb’) as f:f.write(r.content) f.close() def xiancheng_xiazai9(self): #print(self.xiancheng8) for i in self.xiancheng8: #print(i) r = requests.get(i, headers=self.headers) mingzi = i.split(’/’)[-1] with open(’file_tmp/’+mingzi, ’wb’) as f:f.write(r.content) f.close() def xiancheng_xiazai10(self): #print(self.xiancheng9) for i in self.xiancheng9: #print(i) r = requests.get(i, headers=self.headers) mingzi = i.split(’/’)[-1] with open(’file_tmp/’+mingzi, ’wb’) as f:f.write(r.content) f.close() def bisector_list(self,tabulation: list, num: int): ''' 將列表平均分成幾份 :param tabulation: 列表 :param num: 份數(shù) :return: 返回一個(gè)新的列表 ''' new_list = [] ’’’列表長(zhǎng)度大于等于份數(shù)’’’ if len(tabulation) >= num: ’’’remainder:列表長(zhǎng)度除以份數(shù),取余’’’ remainder = len(tabulation) % num if remainder == 0:’’’merchant:列表長(zhǎng)度除以分?jǐn)?shù)’’’merchant = int(len(tabulation) / num)’’’將列表平均拆分’’’for i in range(1, num + 1): if i == 1: new_list.append(tabulation[:merchant]) else: new_list.append(tabulation[(i - 1) * merchant:i * merchant])return new_list else:’’’merchant:列表長(zhǎng)度除以分?jǐn)?shù) 取商’’’merchant = int(len(tabulation) // num)’’’remainder:列表長(zhǎng)度除以份數(shù),取余’’’remainder = int(len(tabulation) % num)’’’將列表平均拆分’’’for i in range(1, num + 1): if i == 1: new_list.append(tabulation[:merchant]) else: new_list.append(tabulation[(i - 1) * merchant:i * merchant]) ’’’將剩余數(shù)據(jù)的添加前面列表中’’’ if int(len(tabulation) - i * merchant) <= merchant: for j in tabulation[-remainder:]:new_list[tabulation[-remainder:].index(j)].append(j)return new_list else: ’’’如果列表長(zhǎng)度小于份數(shù)’’’ for i in range(1, len(tabulation) + 1):tabulation_subset = []tabulation_subset.append(tabulation[i - 1])new_list.append(tabulation_subset) return new_listif __name__==’__main__’: xiazai(’http://iqiyi.cdn9-okzy.com/20200907/15137_ed25d8c5/index.m3u8’)

速度很慢. 40m 5分鐘 不加多線程 1小時(shí)。 可能我的m3u8不行,或者我電腦不行, 多線程是機(jī)械式的。 電腦好 可以多加幾條。

以上就是python 下載m3u8視頻的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于python 下載m3u8視頻的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
秋霞影视一区二区三区| 日韩av中文字幕一区| 国产成人免费| 精品国产乱码久久久| 精精国产xxxx视频在线播放| 不卡中文一二三区| 蜜桃久久av一区| 国产精品中文字幕制服诱惑| 麻豆一区二区99久久久久| 亚洲精品成人图区| 久久伦理在线| 日韩精品免费观看视频| 免费亚洲婷婷| 桃色一区二区| 亚洲毛片视频| 亚洲国产欧美日本视频| 久久成人一区| 免费在线观看一区| 欧美综合另类| 欧美亚洲网站| 91精品在线观看国产| 亚洲欧洲日韩精品在线| 精品久久福利| 亚洲欧美日本日韩| 久久伊人久久| 国产亚洲一级| 里番精品3d一二三区| 欧美日韩国产高清电影| 欧美欧美黄在线二区| 久久久久久美女精品| 日本欧美一区二区| 日韩精品一区二区三区免费观影| 亚洲精品乱码| 亚洲深夜视频| 涩涩涩久久久成人精品| 夜鲁夜鲁夜鲁视频在线播放| 日本成人精品| 欧美91视频| 久久精品伊人| 色8久久久久| 午夜国产精品视频| 国产一区国产二区国产三区| 天堂va蜜桃一区二区三区| 色婷婷色综合| 欧美一区网站| 亚洲男女自偷自拍| 亚洲日本网址| 国产精品入口久久| 久久国产精品毛片| 欧洲一级精品| 久久精品女人| 欧美亚洲tv| 丝袜美腿高跟呻吟高潮一区| 国产精品二区不卡| 日韩av网站在线观看| 亚洲精品1区| 福利在线免费视频| 国产精品毛片久久久| 亚洲在线网站| 91精品啪在线观看国产18| 精品一区二区三区四区五区| 丝袜诱惑一区二区| 国产成人久久| 天堂av在线一区| 国产99在线| 欧美精品中文字幕亚洲专区| 亚洲精品2区| 国产精品一区高清| 麻豆一区二区在线| 免费精品视频| 91九色精品| 久久久影院免费| 高清久久一区| 成人在线视频中文字幕| 国产乱码精品一区二区亚洲| 亚洲另类黄色| 日韩专区在线视频| 国产精品日本| 久久免费国产| | 亚洲毛片一区| aa国产精品| 午夜av一区| 日韩午夜在线| 99re国产精品| 狠狠干综合网| 欧美精品激情| 亚洲一卡久久| 亚洲伊人精品酒店| 综合一区二区三区| 三级在线观看一区二区| 男人的天堂久久精品| 国产综合色产| 一区二区小说| 亚洲精品三级| 男女男精品网站| 好看的av在线不卡观看| 日韩av首页| 亚洲日本在线观看视频| 电影亚洲精品噜噜在线观看| 香蕉成人av| 激情欧美国产欧美| 欧美在线资源| 亚洲伊人影院| 日本不卡视频在线| 国产极品一区| 91欧美在线| 日韩大片在线观看| 日韩在线短视频| 女人天堂亚洲aⅴ在线观看| 在线亚洲欧美| 日韩成人a**站| а√在线中文在线新版| 国产毛片久久| 国产精品分类| 91精品亚洲| 日本成人一区二区| 最新中文字幕在线播放| 另类亚洲自拍| 激情综合五月| 日韩一级欧洲| 你懂的国产精品| 精品国模一区二区三区| 欧美综合国产| 久久伊人亚洲| 久久av在线| 成人在线免费观看网站| 老司机精品久久| 精品深夜福利视频| 最新日韩av| 欧美激情福利| 尹人成人综合网| 国产精品免费大片| 99pao成人国产永久免费视频| 国产精品久久久久9999高清| 中文字幕高清在线播放| 婷婷综合成人| 日本在线高清| 日韩一区二区三区精品| 日韩精品一区二区三区免费观影| 日韩欧美中文字幕在线视频| 香蕉成人av| 国产精品天堂蜜av在线播放| 妖精视频成人观看www| 久久一区亚洲| 亚洲一级大片| 久久亚洲精品中文字幕蜜潮电影| 人人爱人人干婷婷丁香亚洲| 欧美日韩国产免费观看视频| 国产激情欧美| 最新亚洲国产| 99久久久久国产精品| 欧美久久亚洲| 国产精品日韩久久久| 综合日韩av| 国产精品伊人| 一区二区高清| 国产精品av一区二区| 美女性感视频久久| 亚洲精品日本| 亚洲h色精品| 久久av电影| 亚洲精选久久| av亚洲在线观看| 欧美国产一级| 国产精品亚洲综合在线观看| 午夜在线精品| 亚洲综合在线电影| 美女在线视频一区| 日韩精品a在线观看91| 亚洲专区在线| 在线日韩中文| 久草免费在线视频| 国产精品麻豆成人av电影艾秋| 美女网站久久| 欧美一区三区| 91av亚洲| 日产午夜精品一线二线三线| 国产精品亲子伦av一区二区三区| 亚洲尤物av| 天堂成人免费av电影一区| 国精品一区二区| 久久男人天堂| 精品九九久久| 麻豆成人综合网| 国产精品三级| 国产美女精品视频免费播放软件| 亚洲欧美网站在线观看| 在线一区免费观看| 国产在线日韩| 青青久久av| 久久精品动漫| 久久久久久免费视频| 天堂√中文最新版在线| 高清日韩欧美| 色婷婷色综合| 91亚洲国产| 国产成人精品一区二区三区视频| 国产福利一区二区三区在线播放| 久久国产精品色av免费看|