現(xiàn)在的互聯(lián)網(wǎng)發(fā)展非常快,下載速度也越來越快。但是有時候在下載大文件時,網(wǎng)絡不穩(wěn)定就可能導致下載失敗,需要重新下載。這時候就可以使用續(xù)傳下載。
續(xù)傳下載的原理是將之前下載的文件片段與剩下未下載的文件繼續(xù)下載,而不必從頭下載整個大文件。這樣可以節(jié)省時間和流量。
import os import requests url = 'https://www.example.com/file.zip' file_name = 'file.zip' file_size = 0 #檢查本地是否有已下載的片段 if os.path.exists(file_name): file_size = os.path.getsize(file_name) headers = {'Range': 'bytes=%d-' % file_size} else: headers = {} r = requests.get(url, headers=headers, stream=True) with open(file_name, "ab") as f: for chunk in r.iter_content(chunk_size=1024): if chunk: f.write(chunk)
上述代碼會檢查本地是否有已下載的片段,有的話會在HTTP請求頭里添加Range信息,從而只下載未下載的部分。
使用Python進行續(xù)傳下載,可以大大提高下載效率,減少下載失敗的可能性。相信在未來的互聯(lián)網(wǎng)時代,這項技術會越來越被廣泛應用。
上一篇python 綠色波浪線
下一篇python 樹形菜單欄