这篇文章主要介绍了利用计算机编程语言制作的一个百度图片下载器,可以显示实时的下载进度,文中的示例代码讲解详细,感兴趣的可以跟随小编学习一下
前段时间写了一个百度图片下载器,结果发现有很多人需要使用。说实话之前写的那一款百度图片下载器比较低,今天刚好有时间就做了一下升级。
更新了两个BUG,一个是图片下载达到几千张的时候就没有图片可以下载了。另一个是下载进度不能实时的展示出来不知道下载到什么程度了。
同样的,我们先把需要的第三方库导入进来。
' '用户界面界面相关的库'''
来自PyQt5 .QtWidgets导入*
来自PyQt5 .QtCore导入*
来自PyQt5 .QtGui导入*
'''应用操作相关的库'''
导入系统
导入操作系统
从脚本图像导入脚本图像
用户界面界面在原来的基础上面增加了文本浏览器可以实时的查看下载进度,还有增加了每一页下载的图片数量的控制让下载数据更加精确。
定义初始化界面(自身):
self.setWindowTitle('百度图片下载器2.0 公众号:[Python集中营]')
self.setWindowIcon(QIcon('下载. ico '))
self.setFixedSize(550,300)
grid=QGridLayout()
self.page_label=QLabel()
self.page_label.setText('设置爬取页数:')
self.page_line_text=QLineEdit()
自我。page _ line _ text。setplaceholdertext('输入整数)
自我。page _ line _ text。设置验证器(QIntValidator(1,99))
self.page_line_text.setFocus()
self.page_num_label=QLabel()
self.page_num_label.setText('每页爬取数量:')
self.page_num_text=QSpinBox()
self.page_num_text.setRange(50,100)
自我。页码文本。setsinglestep(10)
自我。页码文本。设置换行(True)
self.keyword_label=QLabel()
self.keyword_label.setText('设置图关键字:')
自我。keyword _ line _ text=QLineEdit()
自我。关键字_行_文本。设置验证程序(QRegExpValidator(QRegExp('[\ u4e 00-\ u9fa 5]'))
自我。关键字_行_文本。设置maxlength(6)
自我。关键字_行_文本。setplaceholdertext('输入汉字)
self.file_path=QLineEdit()
自我。文件路径。setplaceholdertext('自定义文件路径)
自我。文件路径。设置只读(真)
自我。文件路径按钮=q按钮()
self.file_path_button.setText('自定义路径)
自我。文件路径按钮。点击了。连接(自我。文件路径点击)
自我。request _ button=q按钮()
self.request_button.setText('快速开始抓取图片)
自我。请求按钮。点击了。连接(自我。下载_图片)
self.brower=QTextBrowser()
self.brower.setPlaceholderText('抓取进度结果展示.')
grid.addWidget(self.page_label,0,0,1,1)
网格。添加小部件(自我。page _ line _ text,0,1,1,2)
网格。添加小部件(自我。页码标签,1,0,1,1)
网格。添加小部件(自我。page _ num _ text,1,1,1,2)
网格。添加小部件(自我。关键字_标签,2,0,1,1)
网格。添加小部件(自我。关键字_行_文本,2,1,1,2)
grid.addWidget(self.file_path,3,0,1,2)
网格。添加小部件(自我。文件路径按钮,3,2,1,1)
grid.addWidget(self.brower,4,0,1,3)
网格。添加小部件(自我。请求_按钮,5,0,1,3)
self.thread_=ScripyImages(self)
自我。thread _。扳机。连接(自我。更新_日志)
自我。thread _。完成了。连接(自我。已完成)
self.setLayout(网格)
增加控制向文本浏览器中实时写入数据的槽函数。
def update_log(self,text):
'''
槽函数:向文本浏览器中写入内容
:参数文本:
:返回:
'''
cursor=self.brower.textCursor()
光标。移动位置(QTextCursor .结束)
self.brower.append(文本)
self.brower.setTextCursor(游标)
自我。布劳尔。ensurecursorvisible()
优化图片的下载过程,使用专门的子线程处理图片的下载部分。
def download_image(自身):
self . request _ button . set enabled(False)
self.thread_。开始()
关于用Python制作百度图片下载器的这篇文章到此为止。有关Python image downloader的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。