RPA手把手——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()方法,输出结果如下:
RPA手把手——urllib.request.urlretrieve()实现文件下载进度查看_第1张图片

你可能感兴趣的:(RPA教程,python基础,9.0版本体验)