美文网首页
tqdm库,给你的Python代码加个进度条

tqdm库,给你的Python代码加个进度条

作者: 木鱼_17f5 | 来源:发表于2018-10-31 20:02 被阅读0次

    1、tqdm简介

    tqdm在阿拉伯语中的意思是“进展”,是一个快速、扩展性强的进度条工具库,用户只需要封装任意的迭代器 tqdm(iterator)。

    下面使用一张图说明tqdm库的强大 image

    2、基本用法

    在迭代器上直接使用tqdm库

    from tqdm import tqdm
    import time
    for i in tqdm(range(1000)):
        time.sleep(0.01)
    

    trange(i) 是对tqdm(range(i)) 特殊优化过的实例。

    from tqdm import trange
    import time
    for i in trange(1000):
        time.sleep(0.01)
    

    3、一个下载图片的实例

    import urllib.request as ur
    import re
    from tqdm import tqdm
    from selenium import webdriver
    import ssl
    # 设置全局ssl验证
    ssl._create_default_https_context = ssl._create_unverified_context 
    #由于urlopen()方法始终调不通,所以采用selenium下使用浏览器无头模式来获取页面源码,后面再更新为urlopen方法
    def getHtml(url):   # 获取页面源码
        options = webdriver.FirefoxOptions()
        options.add_argument('-headless')  # 无头模式
        driver = webdriver.Firefox(options=options)
        driver.maximize_window()
        driver.get(url)
        driver.implicitly_wait(30)
        return driver.page_source  # 获取页面源码
    def getImage(page):   #下载图片
        #使用正则表达式获取图片的url,可根据实际页面源码进行修改
        imageurl=re.findall(r'src="(.*?)"\ zoomfile',page)  
        #下载
        print('开始下载')
        mark = 0
        for i in tqdm(imageurl):
            #下载图片
            imgname = '/Users/yumu/PycharmProjects/test/venv/img/'+str(mark+1)+'.jpg'
            ur.urlretrieve(i,imgname)
            # i:图片地址
            # imgname:图片名称,其中'/Users/yumu/PycharmProjects/test/venv/img/'为图片保存地址,可更加实际情况修改
            mark += 1
    
    chaper_url = 'http://www.dgtle.com/thread-1324439-1-1.html'
    page = getHtml(chaper_url)
    getImage(page)
    
    

    相关文章

      网友评论

          本文标题:tqdm库,给你的Python代码加个进度条

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