1、tqdm简介
tqdm在阿拉伯语中的意思是“进展”,是一个快速、扩展性强的进度条工具库,用户只需要封装任意的迭代器 tqdm(iterator)。
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)
网友评论