美文网首页
urlretrieve方法 直接将远程数据下载到本地。

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

作者: 是东东 | 来源:发表于2019-04-17 23:59 被阅读0次

    urlretrieve方法
    直接将远程数据下载到本地。
    将html抓取到本地,保存在当前文件中,同时显示下载的进度。

    from urllib.request import urlretrieve
    import os
    
    
    def callbackfunc(blocknum, blocksize, totalsize):
        """
        回调函数
        @blocknum: 已经下载的数据块
        @blocksize: 数据块的大小
        @totalsize: 远程文件的大小
        """
        percent = 100.0 * blocknum * blocksize / totalsize
        if percent > 100:
            percent = 100
        print("%.2f%%" % percent)
    
    url = '[https://www.cnblogs.com/qun542110741/p/9221040.html](https://www.cnblogs.com/qun542110741/p/9221040.html)
    '
    local = os.getcwd() + '\\torrent.tar'
    urlretrieve(url, local, callbackfunc)
    

    参数说明:

    urllib.urlretrieve(url[, filename[, reporthook[, data]]])
    url:外部或者本地url
    filename:指定了保存到本地的路径(如果未指定该参数,urllib会生成一个临时文件来保存数据);
    reporthook:是一个回调函数,当连接上服务器会触发该回调。利用这个回调函数来显示当前的下载进度。
    data:指post到服务器的数据。该方法返回一个包含两个元素的元组(filename, headers),filename表示保存到本地的路径,header表示服务器的响应头。
    

    相关文章

      网友评论

          本文标题:urlretrieve方法 直接将远程数据下载到本地。

          本文链接:https://www.haomeiwen.com/subject/hijawqtx.html