python之urlretrieve()远程数据下载
来源:互联网 发布:淘宝直通车托管好吗 编辑:程序博客网 时间:2024/06/03 10:35
urllib 模块提供的urlretrieve() 函数。urlretrieve() 方法直接将远程数据下载到本地。
1
>>>
help
(urllib.urlretrieve)
2
Help
on function urlretrieve
in
module urllib:
3
4
urlretrieve(url, filename
=
None
, reporthook
=
None
, data
=
None
)
- 参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
- 参数 reporthook 是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。
- 参数 data 指 post 到服务器的数据,该方法返回一个包含两个元素的(filename, headers)元组,filename 表示保存到本地的路径,header 表示服务器的响应头。
下面通过例子来演示一下这个方法的使用,这个例子将 sina 的 html 抓取到本地,保存在 D:/sina.html 文件中,同时显示下载的进度。
01
import
urllib
02
def
cbk(a, b, c):
03
'''回调函数
04
@a: 已经下载的数据块
05
@b: 数据块的大小
06
@c: 远程文件的大小
07
'''
08
per
=
100.0
*
a
*
b
/
c
09
if
per >
100
:
10
per
=
100
11
print
'%.2f%%'
%
per
12
13
url
=
'http://www.sina.com.cn/'
14
local
=
'd://sina.html'
15
urllib.urlretrieve(url, local, cbk)
下面是 urlretrieve() 下载文件实例,可以显示下载进度。
01
#!/usr/bin/python
02
#encoding:utf-8
03
import
urllib
04
import
os
05
def
Schedule(a,b,c):
06
'''''
07
a:已经下载的数据块
08
b:数据块的大小
09
c:远程文件的大小
10
'''
11
per
=
100.0
*
a
*
b
/
c
12
if
per >
100
:
13
per
=
100
14
print
'%.2f%%'
%
per
15
url
=
'http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2'
16
#local = url.split('/')[-1]
17
local
=
os.path.join(
'/data/software'
,
'Python-2.7.5.tar.bz2'
)
18
urllib.urlretrieve(url,local,Schedule)
19
######output######
20
#0.00%
21
#0.07%
22
#0.13%
23
#0.20%
24
#....
25
#99.94%
26
#100.00%
通过上面的练习可以知道,urlretrieve() 可以数据下载到本地。
#爬取百度贴吧某图片
- #爬取百度贴吧一些小图片
- #urllib.urlretriev---将远程数据下载到本地
- import urllib
- import urllib2
- import re
- #http://tieba.baidu.com/p/3868127254
- a = raw_input('inpt url:')
- s = urllib2.urlopen(a)
- s1 = s.read()
- def getimg(aaa):
- reg = re.compile(r'img.src="(.*?)"')
- #reg = re.compile(r'<title>')
- l = re.findall(reg, aaa)
- tmp =0
- for x in l:
- tmp += 1
- urllib.urlretrieve(x, '%s.jpg' % tmp)
- #print s1
- getimg(s1)
0 0
- python之urlretrieve()远程数据下载
- urlretrieve函数【远程数据下载到本地的函数】
- 使用python中的urlretrieve下批量下载数据
- python urlretrieve
- python学习笔记之url.urlretrieve
- [python]解决urllib.urlretrieve()下载不完全的问题
- python中的six.moves模块的下载函数urlretrieve
- python 下载 保存 图片的urllib.urlretrieve()函数 简单用法
- urlretrieve下载的问题
- 用python爬取图片之urlretrieve的用法
- python爬取图片之urlretrieve保存本地
- python之urllib模块urlretrieve()函数初窥
- Python实战——用urllib.urlretrieve自动下载推女郎套图
- Python urllib模块urlopen()【打开网站,写入本地文件】与urlretrieve()【直接下载网站文件到本地】
- python 使用 urllib.urlretrieve()下载网络图片,在本地打开提示文件损坏无法打开
- Python爬虫——解决urlretrieve下载不完整问题且避免用时过长
- python urllib urlretrieve学习使用
- Python中urllib的urlretrieve
- 说说C语言运算符的“优先级”与“结合性”
- “头插法”与“尾插法”建立线性链表的异同
- 基于OkHttpUtils自己实现一个检查升级软件功能
- 如何撰写行业市场调研报告---2012年度机械行业企业信息化应用调研报告
- MongoDB分片实战
- python之urlretrieve()远程数据下载
- 从售卖实干家到共赢组织者,社交重构零售格局
- 企业内部成功推广Bitbucket的5个技巧
- log4j2日志管理xml配置方式实现日志分类输出
- Java 图形界面
- mysqldump备份报错(1064),版本问题引起。
- div实现四个圆角
- Android spannableStringBuilder用法整理
- Java正则表达式判断内网ip