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

首頁 > 編程 > Python > 正文

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

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

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

1.簡單文件下載

使用htttplib2,具體代碼如下:

h = httplib2.Http()      url = '//m.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://m.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) 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新巴尔虎右旗| 息烽县| 玉溪市| 饶平县| 卢湾区| 社会| 漾濞| 武乡县| 汉中市| 林州市| 南雄市| 鄂尔多斯市| 二手房| 甘泉县| 常州市| 酉阳| 昌宁县| 五台县| 久治县| 思茅市| 沈阳市| 扎鲁特旗| 同仁县| 普兰店市| 万州区| 竹北市| 肃北| 富川| 刚察县| 江达县| 梅河口市| 平顶山市| 冕宁县| 姜堰市| 镇宁| 南涧| 来安县| 黑水县| 黄陵县| 新竹市| 湘阴县|