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‘)