1-使用Qthring多线程进行书写
from PyQt5.QtCore import QObject, pyqtSlot, pyqtSignal
首先爬虫类需要继承QObject类
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b77a1c3029221c33b7bf7ac767928ba8.png#pic_center)
在爬虫里定义信号
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/0716626b6a0e3d842edcd166314a0091.png#pic_center)
将每个爬虫定义为信号槽函数
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/cfaf6021f5ffe7f91c2cb73afe13a556.png#pic_center)
在爬虫函数结束时发送信号
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8d82be3593f63ecb5b4e21543836544e.png#pic_center)
在UI界面里,使用信号链接槽,在槽里定义QTextBrowser的输出
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/feed4d57a29edae18ec01fdd3de5c933.png#pic_center)
下面为信号链接的各个槽
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5aca07711d52f9d64de30e8c3ab847c3.png#pic_center)
连接爬虫和线程,运行程序
from PyQt5.QtCore import QCoreApplication, QMetaObject, Qt, QDateTime, QThread, pyqtSignal
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6e65bfb950d991960d48418f0bfcbc16.png#pic_center)