国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python基于http下載視頻或音頻

2020-02-15 21:55:41
字體:
供稿:網(wǎng)友

一、簡介

這里介紹使用python基于http下載視頻或音頻。

二、關(guān)鍵點(diǎn)

1、斷點(diǎn)續(xù)傳

視頻或音頻文件一般比較大,所以通過需要斷點(diǎn)續(xù)傳。方式通過在http的header里添加Range字段,指示接下來需要接收文件的位置。

2、判斷結(jié)束

這里采用讀取response的content-length字段,若當(dāng)前報文長度小于前次報文長度,或者已接收文件等于當(dāng)前報文長度,則可以認(rèn)為視頻接收完成。

三、示例代碼

import osimport requestsdef do_load_media(url, path):  try:    headers = {      "User-Agent": "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.3.2.1000 Chrome/30.0.1599.101 Safari/537.36"}    pre_content_length = 0    # 循環(huán)接收視頻數(shù)據(jù)    while True:      # 若文件已經(jīng)存在,則斷點(diǎn)續(xù)傳,設(shè)置接收來需接收數(shù)據(jù)的位置      if os.path.exists(path):        headers['Range'] = 'bytes=%d-' % os.path.getsize(path)      res = requests.get(url, stream=True, headers=headers)      content_length = int(res.headers['content-length'])      # 若當(dāng)前報文長度小于前次報文長度,或者已接收文件等于當(dāng)前報文長度,則可以認(rèn)為視頻接收完成      if content_length < pre_content_length or (          os.path.exists(path) and os.path.getsize(path) == content_length):        break      pre_content_length = content_length      # 寫入收到的視頻數(shù)據(jù)      with open(path, 'ab') as file:        file.write(res.content)        file.flush()        print('receive data,file size : %d  total size:%d' % (os.path.getsize(path), content_length))  except Exception as e:    print(e)def load_media():  url = 'http://k.youku.com/player/getFlvPath/sid/051446875256330ba12be_00/st/flv/fileid/030002080056EECA04F69A03BAF2B1BBADCA22-B1B9-E915-C03B-B0E7B0726C73?K=ae8e9a4d0f294dce282cef20&hd=0&myp=0&ts=377&ypp=0&ctype=30&ev=1&token=3759&oip=826403039&did=9e701e2baea8d466300184129d27d5d8&ep=AqAHzTJcifjAG0w8gO6bow3Mo5jVCyWrke5yFUQ5ZxOD3KGnS9WeSH2XvfdzTgOmgcPdl%2BVjzD29GUC%2BqeDjFxCFXBPHdIgGvhDtKk064s9iV0vxt4B0XNY39jlBH%2BCK'  path = r'E:/test.mp4'  do_load_media(url, path)  passdef main():  load_media()  passif __name__ == '__main__':  main()

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林站長站。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新疆| 三亚市| 上杭县| 陵水| 噶尔县| 濮阳县| 定南县| 九龙城区| 资阳市| 云梦县| 东山县| 岳西县| 昔阳县| 普宁市| 营口市| 石屏县| 明溪县| 泸西县| 剑阁县| 佛教| 临海市| 临湘市| 中方县| 临湘市| 修水县| 襄樊市| 广汉市| 广州市| 淮北市| 青浦区| 浮山县| 永丰县| 安岳县| 玛沁县| 蕲春县| 崇文区| 萨嘎县| 金塔县| 易门县| 玛纳斯县| 沾化县|