国产探花免费观看_亚洲丰满少妇自慰呻吟_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://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.端點續(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ā)表
主站蜘蛛池模板: 康乐县| 桦川县| 锡林浩特市| 文登市| 同德县| 河间市| 广宗县| 龙里县| 安阳市| 巴东县| 拜泉县| 崇信县| 句容市| 榆中县| 资讯 | 文山县| 榆社县| 三河市| 朝阳区| 武乡县| 武山县| 津南区| 衡阳县| 灯塔市| 略阳县| 万安县| 崇文区| 嵊州市| 昭觉县| 都昌县| 故城县| 沈丘县| 司法| 湟中县| 杭锦后旗| 贵溪市| 平山县| 富阳市| 台北县| 瑞金市| 郎溪县|