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