RPA手把手——urllib.request.urlretrieve()实现文件下载进度查看

本文介绍了如何使用RPA工具艺赛旗的Python库urllib.request.urlretrieve下载文件,并通过回调函数实现下载进度的查看。示例中详细解释了函数参数,提供了一个下载链接和储存路径的示例,并展示了如何设置用户代理以防止因链接中含有特殊字符而引发的错误。最后,给出了加载回调函数的实现,用于在下载过程中实时显示百分比。

艺赛旗 RPA9.0全新首发免费下载 点击下载

http://www.i-search.com.cn/index.html?from=line1

函数参数说明
urllib.request.urlretrieve(url, filename=None, reporthook=None, data=None)
url: 文件下载链接
filename: 文件下载路径(如果参数未指定,urllib 会生成一个临时文件保存数据)
reporthook: 回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度
data: 指 post 到服务器的数据。该方法返回一个包含两个元素的元组 (filename, headers),filename 表示保存到本地的路径,header 表示服务器的响应头

示例
import urllib.request

def download():
#下载链接
down_url=r"https://av.sc.com/hk/zh/content/docs/hk-c-nddr-ff304m-ag-20190809.pdf"
#储存路径
down_path=r"C:\Users\Administrator\Desktop\test\aa.pdf"
#链接转义,防止链接中有中文或空格而报错
down_url = urllib.parse.quote(down_url, safe=":/=?#")
print(down_url)
opener = urllib.request.build_opener()
opener.addheaders=[(‘user-agent’,‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36’)]
urllib.request.install_opener(opener)
#执行下载
urllib.request.urlretrieve(down_url,filename=down_path,reporthook=loading)

def loading(blocknum,blocksize,totalsize):
“”"
回调函数: 数据传输时自动调用
blocknum:已经传输的数据块数目
blocksize:每个数据块字节
totalsize:总字节
“”"
percent=int(100blocknumblocksize/totalsize)
if percent>100:
percent=100
#限制显示
if percent+==0:
print(“正在下载>>>{}%”.format(percent))

使用全局函数组件运行download()方法,输出结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值