下载 - urlretrieve()函数

Posted blitheG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下载 - urlretrieve()函数相关的知识,希望对你有一定的参考价值。

import urllib

urlretrieve() 方法直接将远程数据下载到本地。

>>> help(urllib.urlretrieve)
Help on function urlretrieve in module urllib:

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

    1. 参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
    2. 参数 reporthook 是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。
    3. 参数 data 指 post 到服务器的数据,该方法返回一个包含两个元素的(filename, headers)元组,filename 表示保存到本地的路径,header 表示服务器的响应头。
import urllib
def cbk(a, b, c): 
    ‘‘‘回调函数
    @a: 已经下载的数据块
    @b: 数据块的大小
    @c: 远程文件的大小
    ‘‘‘ 
    per = 100.0 * a * b / c 
    if per > 100: 
        per = 100 
    print %.2f%% % per
 
url = http://www.google.com
local = d://google.html
urllib.urlretrieve(url, local, cbk)

这个例子将 google 的 html 抓取到本地,保存在D:/google.html 文件中,同时显示下载的进度。

以上是关于下载 - urlretrieve()函数的主要内容,如果未能解决你的问题,请参考以下文章

如何设置python 中函数 urlretrieve 下载文档,5秒没有下载完成就跳出执行下一次的下载?

Python urllib urlretrieve函数解析

Python3 爬虫04_urllib.request.urlretrieve

[转]urllib模块urlretrieve方法

python urlretrieve 下载图片

python多媒体文件抽取