python爬虫设置进度条的方法有:使用 tqdm 库:提供易用的 api 和丰富的自定义选项。使用进度条回调函数:适合需要自定义进度或低级爬虫任务。使用 rich 库:提供美观且高级的进度条和控制台输出。
Python爬虫如何设置进度条
简介
在爬取大型网站或处理庞大数据集时,使用进度条可以直观地显示爬虫的进度,提高用户体验。python中有多种方法可以设置进度条。
方法 1:tqdm 库
tqdm 库是一个流行的进度条库,提供了丰富的功能和易于使用的 API。
示例代码:
from tqdm import tqdm # 针对列表进行迭代并显示进度条 my_list = ['item1', 'item2', 'item3', 'item4', 'item5'] for item in tqdm(my_list): # 对 item 执行操作 pass
优点:
立即学习“Python免费学习笔记(深入)”;
方法 2:进度条回调函数
示例代码:
def progress_callback(bytes_downloaded, blocks_downloaded, total_bytes): # 计算下载进度 progress = bytes_downloaded / total_bytes # 显示进度条 print(f'下载进度:{progress*100:.2f}%') # 使用 progress_callback 设置进度条 import requests url = 'https://example.com/file.zip' response = requests.get(url, stream=True) for chunk in response.iter_content(chunk_size=1024): progress_callback(len(chunk), 1, response.headers.get('Content-Length'))
优点:
立即学习“Python免费学习笔记(深入)”;
- 适用于低级爬虫任务
- 适用于需要自定义进度的场景
方法 3:rich 库
rich 库提供了更丰富的进度条和控制台输出。
示例代码:
from rich.progress import Progress # 创建进度跟踪器 with Progress() as progress: # 针对列表进行迭代并显示进度条 my_list = ['item1', 'item2', 'item3', 'item4', 'item5'] for item in my_list: # 对 item 执行操作 progress.update(task_id="my_task", advance=1)
优点:
立即学习“Python免费学习笔记(深入)”;
- 提供美观的进度条和控制台输出
- 适用于需要高级功能和自定义的场景