python 下载文件-Python实现HTTP协议下的文件下载方法总结
本文介绍了几种常用的python下载文件的方法,具体使用到了htttplib2,urllib等包,希望对大家有帮忙。
1.简单文件下载
使用htttplib2,具体代码如下:
h = httplib2.Http()
url = '//www.jb51.net/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 = "//www.jb51.net/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)
本文标题: Python实现HTTP协议下的文件下载方法总结
本文地址: http://www.cppcns.com/jiaoben/python/147881.html
python 下载文件-Python实现HTTP协议下的文件下载方法总结相关推荐
- python实现http下载文件-Python实现HTTP协议下的文件下载方法总结
本文介绍了几种常用的python下载文件的方法,具体使用到了htttplib2,urllib等包,希望对大家有帮忙. 1.简单文件下载 使用htttplib2,具体代码如下: h = httplib2 ...
- python实现文件下载-Python实现HTTP协议下的文件下载方法总结
本文介绍了几种常用的python下载文件的方法,具体使用到了htttplib2,urllib等包,希望对大家有帮忙. 1.简单文件下载 使用htttplib2,具体代码如下: h = httplib2 ...
- python 下载文件-Python下载文件的11种方式
原标题:Python下载文件的11种方式 在本教程中,你将学习如何使用不同的Python模块从web下载文件.此外,你将下载常规文件.web页面.Amazon S3和其他资源. 最后,你将学习如何克服 ...
- python 下载文件-Python实现批量下载文件
Python实现批量下载文件 #!/usr/bin/env python # -*- coding:utf-8 -*- from gevent import monkey monkey.patch_a ...
- python 下载文件-python爬虫之下载文件的方式总结以及程序实例
python爬虫之下载文件的方式以及下载实例 目录 第一种方法:urlretrieve方法下载 第二种方法:request download 第三种方法:视频文件.大型文件下载 实战演示 第一种方法: ...
- python 下载文件-Python下载文件的方法
通过python采集时 ,经常需要从html 中获取图片或文件的URL并下载到本地,这里列举最常用的三种模块下载的方法:urllib模块.urllib2模块.requests模块.具体代码如下: im ...
- python 下载文件-python实现下载文件的三种方法_python
本篇文章主要介绍了python实现下载文件的三种方法,最常用的方法就是通过Http利用urllib或者urllib2模块还有requests,有兴趣的可以了解一下. Python开发中时长遇到要下载文 ...
- python 下载文件-python下载文件的三种方法
Python开发中时长遇到要下载文件的情况,最常用的方法就是通过Http利用urllib或者urllib2模块,此外Python还提供了另外一种方法requests. 下面来看看三种方法是如何来下载文 ...
- python 下载文件-Python实现http文件下载
在自动化脚本中,文件下载是比较常见的操作,一般情况下,我们会将文件放到某个http服务器上,这时,当脚本中需要这个文件时,就需要使用到http下载的功能了 最基本的下载功能实现 实现最基本的功能,传入 ...
最新文章
- 金山员工被离职后拿到高薪工作:感谢公司辞退我,还给我赔偿金
- R语言把dataframe中的NA值替换为0
- C语言求数组中的最大值
- 最新 Unity3D鼠标滑轮控制物体放大缩小 [
- 在GoogPlay上发布的包Facebook登录失败提示签名问题
- 计算机报名忻州考点,2020山西省考忻州考区考点安排
- B~树(B-Tree)与B+树
- FindTask练习
- php视图,PHP的Yii框架中View视图的使用进阶
- java知识体系结构图
- 华为折叠手机是鸿蒙系统吗,华为发布新一代折叠屏手机 将首批升级鸿蒙系统...
- 如何用photoshop做24色环_【PS教你快速绘制超漂亮的色环】 24色环图绘制
- 开源开放 | OpenKG 更新发布新冠概念、防控和流行病等多个知识图谱
- 按键精灵通过句柄获取窗口坐标_按键精灵怎么获取同名窗口的句柄
- 蘑菇街Java后台面试总结
- [POI2005][luogu3462] SZA-Template [fail树]
- 创建制作SDK的静态库工程
- pringboot餐饮点餐系统毕业设计源码301749
- 鼠标移到任务栏滚轮调节音量
- 红旗linux 输入法问题,红旗Linux牵手搜狗输入法 带给用户无拘无束输入体