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

首頁 > 編程 > Python > 正文

Python實現HTTP協議下的文件下載方法總結

2019-11-25 16:50:04
字體:
來源:轉載
供稿:網友

本文介紹了幾種常用的python下載文件的方法,具體使用到了htttplib2,urllib等包,希望對大家有幫忙。

1.簡單文件下載

使用htttplib2,具體代碼如下:

h = httplib2.Http()      url = '//www.survivalescaperooms.com/ip.zip'  resp, content = h.request(url)        if resp['status'] == '200':    with open(filename, 'wb') as f:      f.write(content)  

使用urllib,具體代碼如下:

filename = urllib.unquote(url).decode('utf8').split('/')[-1]  urllib.urlretrieve(url, filename) 

  

2.較大文件下載

def down_file():    url = "http://www.survivalescaperooms.com/download.abc"      file_name = url.split('/')[-1]    u = urllib2.urlopen(url)    f = open(file_name, 'wb')    meta = u.info()    file_size = int(meta.getheaders("Content-Length")[0])        file_size_dl = 0    block_sz = 8192    while True:      buffer = u.read(block_sz)      if not buffer:        break          file_size_dl += len(buffer)      f.write(buffer)    f.close()  

在獲取下載文件名的過程中,可以解析url,代碼如下:

scheme, netloc, path, query, fragment = urlparse.urlsplit(url)  filename = os.path.basename(path)  if not filename:    filename = 'downloaded.file'  

3.端點續傳下載
在使用HTTP協議進行下載的時候只需要在頭上設置一下Range的范圍就可以進行斷點續傳下載,當然,首先服務器需要支持斷點續傳。

利用Python的urllib2模塊完成斷點續傳下載的例子:

#!/usr/bin/python # -*- coding: UTF-8 -* ''' Created on 2013-04-15 Created by RobinTang A demo for Resuming Transfer ''' import urllib2  req = urllib2.Request('http://www.python.org/') req.add_header('Range', 'bytes=0-20') # set the range, from 0byte to 19byte, 20bytes len res = urllib2.urlopen(req)  data = res.read()  print data print '---------' print 'len:%d'%len(data) 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德庆县| 沂水县| 民勤县| 清水县| 莲花县| 海兴县| 长沙市| 当雄县| 都兰县| 新巴尔虎右旗| 西乌珠穆沁旗| 玉山县| 从化市| 全州县| 宁津县| 岳普湖县| 桓仁| 沾化县| 仁布县| 永年县| 富源县| 满洲里市| 乐至县| 抚顺市| 新密市| 永州市| 万宁市| 太仓市| 绥宁县| 甘德县| 壤塘县| 溧水县| 壤塘县| 竹北市| 怀远县| 廉江市| 延吉市| 清丰县| 汾阳市| 泽普县| 大冶市|