abstrait:Requests庫,高度封裝的http庫import requests url = 'http://down.sandai.net/thunder9/Thunder9.0.18.448.exe' filename = url.split('/')[-1] #獲取文件名 r =&nbs
Requests庫,高度封裝的http庫
import requests url = 'http://down.sandai.net/thunder9/Thunder9.0.18.448.exe' filename = url.split('/')[-1] #獲取文件名 r = requests.get(url,stream = True) with open(filename,'wb') as f: p = 0 #下載計(jì)數(shù)器 chunk_size = 4096 #塊大小 try: while True: for data in r.iter_content(chunk_size): p += f.write(data) print('%d' % (p)) except Exception as e: print(e) finally: print('下載完畢!')
urllib庫,操作上能比Requests靈活一點(diǎn),沒有特殊需求的話基本沒什么差別
import urllib.request url = 'http://down.sandai.net/thunder9/Thunder9.0.18.448.exe' resp = urllib.request.urlopen(url) filename = url.split('/')[-1] with open(filename,'wb') as f: p = 0 #下載計(jì)數(shù) buffsize = 4096 #塊大小 try: while True: buff = resp.read(buffsize) if not buff: #buff為空,即下載完畢,結(jié)束循環(huán) break p += f.write(buff) print('%d' % p) except Exception as e: print(e) finally: print('下載完畢!')
還有個(gè)一句話的
import urllib urllib.urlretrieve(url, ‘test.jpg’)