tqdm庫(kù),給你的Python代碼加個(gè)進(jìn)度條

1、tqdm簡(jiǎn)介

tqdm在阿拉伯語(yǔ)中的意思是“進(jìn)展”,是一個(gè)快速、擴(kuò)展性強(qiáng)的進(jìn)度條工具庫(kù),用戶(hù)只需要封裝任意的迭代器 tqdm(iterator)。

下面使用一張圖說(shuō)明tqdm庫(kù)的強(qiáng)大
image

2、基本用法

在迭代器上直接使用tqdm庫(kù)

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

trange(i) 是對(duì)tqdm(range(i)) 特殊優(yōu)化過(guò)的實(shí)例。

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

3、一個(gè)下載圖片的實(shí)例

import urllib.request as ur
import re
from tqdm import tqdm
from selenium import webdriver
import ssl
# 設(shè)置全局ssl驗(yàn)證
ssl._create_default_https_context = ssl._create_unverified_context 
#由于urlopen()方法始終調(diào)不通,所以采用selenium下使用瀏覽器無(wú)頭模式來(lái)獲取頁(yè)面源碼,后面再更新為urlopen方法
def getHtml(url):   # 獲取頁(yè)面源碼
    options = webdriver.FirefoxOptions()
    options.add_argument('-headless')  # 無(wú)頭模式
    driver = webdriver.Firefox(options=options)
    driver.maximize_window()
    driver.get(url)
    driver.implicitly_wait(30)
    return driver.page_source  # 獲取頁(yè)面源碼
def getImage(page):   #下載圖片
    #使用正則表達(dá)式獲取圖片的url,可根據(jù)實(shí)際頁(yè)面源碼進(jìn)行修改
    imageurl=re.findall(r'src="(.*?)"\ zoomfile',page)  
    #下載
    print('開(kāi)始下載')
    mark = 0
    for i in tqdm(imageurl):
        #下載圖片
        imgname = '/Users/yumu/PycharmProjects/test/venv/img/'+str(mark+1)+'.jpg'
        ur.urlretrieve(i,imgname)
        # i:圖片地址
        # imgname:圖片名稱(chēng),其中'/Users/yumu/PycharmProjects/test/venv/img/'為圖片保存地址,可更加實(shí)際情況修改
        mark += 1

chaper_url = 'http://www.dgtle.com/thread-1324439-1-1.html'
page = getHtml(chaper_url)
getImage(page)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容