代码链接:图片爬虫小脚本-CSDN博客
一、安装所需库
在开始之前,你需要安装一些Python库:
pip install requests PyQt5
pip install requests
pip install PyQt5
pip show requests
pip show PyQt5
二、了解代码结构
这段代码由两个主要部分组成:ScraperThread
和 ImageScraper
。前者是一个多线程类,用于抓取图片并下载,后者是一个GUI类,提供用户界面与用户交互。
1. ScraperThread
类
ScraperThread
继承自 QThread
,负责在后台抓取和下载图片:
- 初始化参数:包括类别名称、批次数量、保存路径、图片格式、超时设置、重试次数、用户代理、最大并发下载数、代理设置等。
- 抓取和下载逻辑:
- 构建抓取URL并发送请求。
- 解析图片URL。
- 下载图片并保存到本地。
2. ImageScraper
类
ImageScraper
继承自 QWidget
,负责创建用户界面并处理用户交互:
- 用户界面布局:包括菜单栏、输入框、按钮、进度条、日志显示区等。
- 主要功能:
- 设置图片抓取参数。
- 开始、暂停、继续、取消下载。
- 保存和加载日志。
- 图片预览和删除。
三、运行程序
保存代码为一个Python文件(如 image_scraper.py
),并运行:
python image_scraper.py
四、使用教程
启动程序后,你会看到一个界面,包含多个输入框和按钮。
1. 设置参数
- 图片类别:在
图片类别
输入框中输入你要抓取的图片类别。 - 图片数量:在
图片数量(1=60张, 2=120张)
输入框中输入1或2,分别代表60张和120张图片。 - 图片格式:从下拉框中选择要保存的图片格式(jpg, png, gif)。
- 超时设置:设置每次请求的超时时间(默认10秒)。
- 最大重试次数:设置每次下载失败后的最大重试次数(默认3次)。
- User-Agent:从下拉框中选择HTTP请求头的User-Agent。
- 最大并发下载数:设置同时进行的最大下载数量(默认5)。
- 代理(可选):输入代理地址(如果有的话)。
2. 选择保存路径
点击 浏览
按钮选择图片的保存路径。
3. 控制下载过程
- 开始下载:点击
开始下载
按钮启动下载过程。 - 暂停下载:点击
暂停下载
按钮暂停下载过程。 - 继续下载:点击
继续下载
按钮继续下载过程。 - 取消下载:点击
取消下载
按钮取消下载过程。
4. 查看和管理日志
- 保存日志:在菜单栏点击
文件 -> 保存日志
保存下载日志。 - 加载日志:在菜单栏点击
文件 -> 加载日志
加载之前保存的日志。 - 清空日志:点击
清空日志
按钮清空当前日志显示区。 - 图片预览:在菜单栏点击
文件 -> 图片预览
查看下载的图片。 - 删除所有图片:点击
删除所有图片
按钮删除保存路径下的所有图片。
5. 下载完成
当下载完成时,会弹出提示框通知下载完成,并且会自动保存下载日志。
五、总结
通过这个教程,你应该能够顺利运行和使用这个图片抓取器应用程序。这个应用程序基于 PyQt5 提供了一个简单直观的图形用户界面,并结合了多线程技术,实现了批量抓取和下载图片的功能。希望这个工具能帮助你更方便地获取所需图片。