Python urllib urlretrieve函数解析

Python urllib urlretrieve函数解析

利用urllib.request.urlretrieve函数下载文件

觉得有用的话,欢迎一起讨论相互学习~Follow Me

参考文献

Urlretrieve函数解析

urllib.request.urlretrieve函数解析

urlretrieve(url, filename=None, reporthook=None, data=None)

参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)

参数 reporthook 是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。

参数 data 指 post 到服务器的数据,该方法返回一个包含两个元素的(filename, headers)元组,filename 表示保存到本地的路径,header 表示服务器的响应头。

  • 下面通过例子来演示一下这个方法的使用,这个例子将一张图片抓取到本地,保存在此文件夹中,同时显示下载的进度。
from six.moves import urllib

def Schedule(a, b, c):
    """
    a:已经下载的数据块
    b:数据块的大小
    c:远程文件的大小
    """
    per = 100.0*float(a*b)/float(c)
    if per > 100:
        per = 100
    print("a", a)
    print("b", b)
    print("c", c)
    print(‘{:.2f}%‘.format(per))

url = ‘https://avatars1.githubusercontent.com/u/14261323?s=400&u=150449ce27748c3b23b5175f8c8342c918ae6aa8&v=4‘
local = ‘mylogo.png‘
filename, _ = urllib.request.urlretrieve(url, local, Schedule)
# (‘mylogo.png‘, <http.client.HTTPMessage object at 0x000001FD6491D6D8>)
print(filename)
# mylogo.png

# a 0
# b 8192
# c 38225
# 0.00%
# a 1
# b 8192
# c 38225
# 21.43%
# a 2
# b 8192
# c 38225
# 42.86%
# a 3
# b 8192
# c 38225
# 64.29%
# a 4
# b 8192
# c 38225
# 85.72%
# a 5
# b 8192
# c 38225
# 100.00%

原文地址:https://www.cnblogs.com/cloud-ken/p/8453040.html

时间: 2024-08-03 16:56:01

Python urllib urlretrieve函数解析的相关文章

Python urllib的urlretrieve()函数解析 (显示下载进度)

1 #!/usr/bin/python 2 #encoding:utf-8 3 import urllib 4 import os 5 def Schedule(a,b,c): 6 ''''' 7 a:已经下载的数据块 8 b:数据块的大小 9 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.

Python中urlretrieve函数

API定义: urllib.request.urlretrieve(url,filename=None,reporthook=None, data=None) 利用urlretrieve() 将数据下载到本地. - 参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据.) - 参数 reporthook 是一个回调函数,当连接上服务器.以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度. - 参数 data 指 po

python pandas.merge() 函数 解析

merge()函数主要参数 注:(一定要看下面的图!) merge()的默认参数: 我这里就解释两个参数 一个是on :他就相当于sql表中的外键 另一个是how:他就相当于两个表是左外连接.右外连接.内连接.全连接 送大家一个图 秒懂 原文地址:https://www.cnblogs.com/wtq-0201/p/11072387.html

[python]urllib与urllib2的常用函数

可以把urllib2当作urllib的扩增,比较明显的优势是urllib2.urlopen可以接受Request对象作为参数,从而可以控制HTTP Request的headers,进而实现模拟浏览器.模拟登录等操作. 做HTTP Request时应当尽量使用urllib2库,但是urllib.urlretrieve函数以及urllib.quote等一系列quote和unquote功能没有被加入urllib2中,因此有时也需要urllib的辅助. 此外常用的函数: urllib: #编码函数 ur

Python urllib模块urlopen()与urlretrieve()详解

1.urlopen()方法urllib.urlopen(url[, data[, proxies]]) :创建一个表示远程url的类文件对象,然后像本地文件一样操作这个类文件对象来获取远程数据.参数url表示远程数据的路径,一般是网址:参数data表示以post方式提交到url的数据(玩过web的人应该知道提交数据的两种方式:post与get.如果你不清楚,也不必太在意,一般情况下很少用到这个参数):参数proxies用于设置代理.urlopen返回 一个类文件对象,它提供了如下方法:read(

python列表里__setslices__方法函数解析a

先看看列表里的__setslice__方法函数的帮助文档 help(list.__setslice__) 帮助文档如下所示: __setslice__(...) x.__setslice__(i, j, y) <==> x[i:j]=y Use of negative indices is not supported. 从帮助文档可以看出这个方法函数可以通过列表切片的方式来使用(运算映射函数).举例说明一下: In [1]: li = range(1, 11) In [2]: li Out[2

python urllib基础学习

# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #使用python创建一个简单的WEB客户端 import urllib,urllib2,urlparse """ web地址元素 URL部件                 描述 prot_sch             网络协议或者下载规划 nety_loc             服务器位置(或者也有用户信息) path          

python urllib模块

1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作.本例试着打开google 1 #coding:UTF8 2 3 import urllib 4 response = urllib.urlopen("http://www.baidu.com") 5 f = response.readline() #读取html第一行 6 print f 代码 返回结果 <!DOCTYPE html

python urllib相关学习

#-*-coding:-utf-8 import urllib #url='http://iplaypython.com/' #url1=urllib.urlopen(url)#打开url地址,urlopen(url, data=None, proxies=None) #print url1.read()#读取read() , readline() , readlines() , fileno() , close() :这些方法的使用方式与文件对象完全一样 #print url1.getcode