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

首頁 > 編程 > Python > 正文

Python實現(xiàn)HTTP協(xié)議下的文件下載方法總結(jié)

2020-01-04 17:31:34
字體:
供稿:網(wǎng)友
這篇文章主要介紹了Python實現(xiàn)HTTP協(xié)議下的文件下載方法總結(jié),包括端點續(xù)傳下載等功能,需要的朋友可以參考下
 

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

1.簡單文件下載

使用htttplib2,具體代碼如下:

h = httplib2.Http()      url = 'http://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.端點續(xù)傳下載
在使用HTTP協(xié)議進行下載的時候只需要在頭上設(shè)置一下Range的范圍就可以進行斷點續(xù)傳下載,當然,首先服務(wù)器需要支持斷點續(xù)傳。

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

#!/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) 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 沙洋县| 弥勒县| 祥云县| 镇康县| 白城市| 高青县| 黄陵县| 托克托县| 巩义市| 吉林市| 石林| 大姚县| 益阳市| 嘉定区| 交口县| 当雄县| 平塘县| 沙坪坝区| 桦甸市| 罗田县| 临夏县| 海城市| 喀喇沁旗| 海安县| 九台市| 宣武区| 长治市| 罗平县| 临沂市| 沂水县| 和龙市| 庆城县| 渝北区| 张家口市| 玉环县| 尉氏县| 资兴市| 珠海市| 秀山| 万源市| 论坛|