pyqt爬虫可视化
技术栈:python3.7+pyqt5 + requests + pyinstaller
界面如下:

总结一下开发中问题:
-
开始爬虫后,界面卡死问题
问题解决:使用多线程,界面主程序与爬虫程序分线程运行。

-
爬虫内容和爬虫日志的实时显示问题
问题解决:爬取中界面实时显示,刚开始for循环发送实时内容,界面停顿,当for循环完成后
界面同时显示所有内容,之后该写成多线程发送如下图,还是没有解决,
最后灵机一动,在信号关联的槽函数中加入 === self.repaint()===== 完成实时显示。

-
进度条运行中导致界面闪退问题
问题解决:刚开始直接在for循环中直接self.processBar.setValue(int)设置进度条数值
运行中界面发生闪退问题,最后改写成多线程发送问题解决(目前不知道发生
此问题原因)

-
pyinstaller打包后,别人电脑界面显示,爬虫不运行问题
问题解决:在site_packages中pyinstaller安装目录下添加requests的hook文件

文件内容:
from PyInstaller.utils.hooks import collect_data_files, collect_submodules
datas = collect_data_files('requests')
本文详细介绍了在使用python3.7、PyQT5、requests和pyinstaller进行爬虫可视化过程中遇到的问题及解决方案。包括:1)通过多线程避免界面卡死;2)利用信号和槽函数结合repaint()实现爬虫内容和日志的实时显示;3)修复进度条更新导致的界面闪退问题,采用多线程解决;4)解决pyinstaller打包后在其他电脑上运行失败的问题,通过添加requests的hook文件确保依赖项完整。
1万+

被折叠的 条评论
为什么被折叠?



