通过Pyqt5实现了一个基于接口的下载器,通过网络请求下载各类图片。您可以在界面上输入不同图片的关键字来下载图片,并将下载的图片保存到自定义的文件路径中。文末附上源码和操作视频【阅读全文】在介绍代码块内容之前,先来看看需要用到的三方python库。fromPyQt5.QtWidgetsimport*fromPyQt5.QtCoreimport*fromPyQt5.QtGuiimport*importosfromscripy_imagesimportScripyImagesPyqt5相关的三个模块的导入在前面天气查询系统的介绍中已经提到。如需下载《Pyqt5 天气查询系统》源码,请在公众号内回复:“天气查询系统”。然后剩下的两个操作库一个是os模块,主要用于系统文件相关的操作,另一个是scripy_images模块,用于通过网络请求获取和下载图片。接下来介绍Pyqt5相关的页面定义等功能的使用。同样,先在Pyqt5窗口上添加我们需要的组件,最后将这些组件添加到布局中。大致的实现过程就是按照这个顺序。definit_ui(self):self.setWindowTitle('百度图片提取应用')grid=QGridLayout()self.page_label=QLabel()self.page_label.setText('设置抓取页数:')self.page_line_text=QLineEdit()self.page_line_text.setPlaceholderText('请输入一个整数')self.page_line_text.setValidator(QIntValidator(1,99))self.page_line_text.setFocus()self.keyword_label=QLabel()self.keyword_label.setText('设置键单词:')self.keyword_line_text=QLineEdit()self.keyword_line_text.setValidator(QRegExpValidator(QRegExp('[\u4E00-\u9FA5]+')))self.keyword_line_text.setMaxLength(6)self.keyword_line_text.setPlaceholderText('Enter汉字')self.file_path=QLineEdit()self.file_path.setPlaceholderText('自定义文件路径')self.file_path.setReadOnly(True)self.file_path_button=QPushButton()self.file_path_button.setText('自定义路径')self.file_path_button.clicked.connect(self.file_path_click)self.request_button=QPushButton()self.request_button.setText('快速开始抓取图片')self.request_button.clicked.connect(self.download_image)self.log_text=QTextEdit()self.log_text.setPlaceholderText('抓获取深度结果显示...')self.log_text.setReadOnly(True)self.log_text.setMaximumHeight(100)self.version_msg_label=QLabel()self.version_msg_label.setText('公众号:[Python集中营]发布')self.version_msg_label.setAlignment(Qt.AlignCenter)grid.addWidget(self.page_label,0,0,1,1)grid.addWidget(self.page_line_text,0,1,1,2)grid.addWidget(self.keyword_label,1,0,1,1)grid.addWidget(self.keyword_line_text,1,1,1,2)grid.addWidget(self.file_path,2,0,1,2)grid.addWidget(self.file_path_button,2,2,1,1)grid.addWidget(self.request_button,3,0,1,3)grid.addWidget(self.log_text,4,0,1,3)grid.addWidget(self.version_msg_label,5,0,1,3)self.setLayout(grid)然后定义对应的slot函数,其中有两个slot函数,其中一个是定义的存储路径时需要的file一个槽函数用于获取文件路径,另一个用于启动百度图片的下载过程,通过该槽函数调用下载模块的执行。deffile_path_click(self):self.cwd=os.getcwd()directory=QFileDialog.getExistingDirectory(self,'selectfolder',self.cwd)打印(目录)self.file_path.setText(directory+'/')defdownload_image(self):check_param=Falseself.log_text.setText("")self.log_text.insertPlainText("-----开始所需参数检查-----\n")ifself.page_line_text.text()。strip()!=''and\self.keyword_line_text().strip()!=''and\self.file_path.text().strip()!='':self.log_text.insertPlainText("---参数校验成功---\n")check_param=Trueelse:self.log_text.insertPlainText("---参数校验失败---\n")self.log_text.insertPlainText("请填写必填内容后继续项目...\n")check_param=Falseself.log_text.insertPlainText("-----结束所需参数检查-----\n")如果check_param为真:self.log_text。insertPlainText("-----开始下载百度图片-----\n")self.log_text.insertPlainText("---请耐心等待---\n")ScripyImages(page_num=self.page_line_text.text(),current=self.keyword_line_text.text(),file_path=self.file_path.text())self.log_text.insertPlainText("-----百度图片下载结束-----\n")然后调用main函数执行整个逻辑if__name__=='__main__':app=QApplication(sys.argv)baidu=baiduImage()baidu.show()sys.exit(app.exec_())整个Pyqt5调用执行过程是这样的,得到完整的代码块包括中百度图片执行网络请求下载的部分回复“百度图片下载器”获取完整代码块。操作视频演示...【过往回顾】python3中zip()、zip(*)、list()的灵活转换!pythonprint()函数的格式化字符串输出PyQt5GUI&&RequestsApi做一个天气查询系统(完整代码在文末获取)!一个漂亮的windowscmd命令行工具cmder如何将excel数据分析后的可视化数据写入保存!Excel数据处理2:快速完成openpyxl数据的添加和修改!Excel数据处理一:巧妙利用openpyxl提取过滤数据Helium,比Selenium更方便的自动化测试工具!Python数据可视化:可视化数据分析插件D-Tale计算速度太慢?试试lru_cache装饰器!