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

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代码加个进度条)