python导入数据库的数据怎么在qt界面里刷新_python爬虫开发通过qt界面显示,爬取数据只能显示最后一次循环结果,appen追加时程序卡住。(已经解决)!!!...
源码 如下:
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'day01.ui'
#
# Created by: PyQt5 UI code generator 5.13.2
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
import requests
from bs4 import BeautifulSoup
import bs4
import os
import time
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
class Ui_mainWindow(object):
def setupUi(self, mainWindow):
mainWindow.setObjectName("mainWindow")
mainWindow.resize(1200, 400)
self.centralwidget = QtWidgets.QWidget(mainWindow)
self.centralwidget.setObjectName("centralwidget")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setEnabled(True)
self.pushButton.setGeometry(QtCore.QRect(1000, 20, 93, 28))
self.pushButton.setObjectName("pushButton")
self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
self.textEdit.setGeometry(QtCore.QRect(140, 80,600, 100))
self.textEdit.setObjectName("textEdit")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(40, 70, 91, 61))
self.label.setObjectName("label")
mainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(mainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 815, 26))
self.menubar.setObjectName("menubar")
mainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(mainWindow)
self.statusbar.setObjectName("statusbar")
mainWindow.setStatusBar(self.statusbar)
self.textEdit.setText('预备,点击开始 ')
self.retranslateUi(mainWindow)
QtCore.QMetaObject.connectSlotsByName(mainWindow)
self.pushButton.clicked.connect(self.mypachong)
#QtWidgets.QApplication.processEvents() # 界面实时刷新
# QtWidgets.QApplication.processEvents()
def mypachong(self):
self.head ={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36','Connection': 'close'}
self.url = 'https://mil.ifeng.com'
self.r = requests.get(self.url,headers=self.head,timeout=30)
self.r.encoding = 'utf-8'
self.soup = BeautifulSoup(self.r.text, 'lxml')
self.data = self.soup.select( 'p>a')
print('元素类型:',type(self.data))
print('元素数量:',len(self.data))
print(self.data)
for i in range(9):
x = self.data[i].get('href')
urls='http:'+x
print(urls)
html=requests.get(urls)
html.encoding='utf-8'
soups=BeautifulSoup(html.text,'lxml')
wenben=soups.select('#root > div > div.content-3--Ol8sK > div.leftContent-1ESnktbA > div.artical-_Qk9Dp2t > div.main_content-LcrEruCc > div:nth-child(1) > div.text-3zQ3cZD4')[0].text
print(wenben)
self.textEdit.setText(wenben)
def retranslateUi(self, mainWindow):
_translate = QtCore.QCoreApplication.translate
mainWindow.setWindowTitle(_translate("mainWindow", "天下无双"))
self.pushButton.setText(_translate("mainWindow", "点我"))
self.label.setText(_translate("mainWindow", "情报:"))
if __name__== '__main__':
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_mainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
修改的地方:(一)加入list=[],注意放在下面主函数内,
(二)select方法后用[0].text.split()
(三)将最后的列表str化后放入textEdit。效果如下:
完整代码:
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'day01.ui'
#
# Created by: PyQt5 UI code generator 5.13.2
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
import requests
from bs4 import BeautifulSoup
import bs4
import os
import time
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
class Ui_mainWindow(object):
def setupUi(self, mainWindow):
mainWindow.setObjectName("mainWindow")
mainWindow.resize(1200, 400)
self.centralwidget = QtWidgets.QWidget(mainWindow)
self.centralwidget.setObjectName("centralwidget")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setEnabled(True)
self.pushButton.setGeometry(QtCore.QRect(1000, 20, 93, 28))
self.pushButton.setObjectName("pushButton")
self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
self.textEdit.setGeometry(QtCore.QRect(140, 80,800, 300))
self.textEdit.setObjectName("textEdit")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(40, 70, 91, 61))
self.label.setObjectName("label")
mainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(mainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 815, 26))
self.menubar.setObjectName("menubar")
mainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(mainWindow)
self.statusbar.setObjectName("statusbar")
mainWindow.setStatusBar(self.statusbar)
self.textEdit.setText('预备,点击开始 ')
self.retranslateUi(mainWindow)
QtCore.QMetaObject.connectSlotsByName(mainWindow)
self.pushButton.clicked.connect(self.mypachong)
#QtWidgets.QApplication.processEvents() # 界面实时刷新
# QtWidgets.QApplication.processEvents()
def mypachong(self):
self.head ={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36','Connection': 'close'}
self.url = 'https://mil.ifeng.com'
self.r = requests.get(self.url,headers=self.head,timeout=30)
self.r.encoding = 'utf-8'
self.soup = BeautifulSoup(self.r.text, 'lxml')
self.data = self.soup.select( 'p>a')
print('元素类型:',type(self.data))
print('元素数量:',len(self.data))
print(self.data)
for i in range(10):
x = self.data[i].get('href')
urls='http:'+x
print(urls)
html=requests.get(urls)
html.encoding='utf-8'
soups=BeautifulSoup(html.text,'lxml')
wenben=soups.select('#root > div > div.content-3--Ol8sK > div.leftContent-1ESnktbA > div.artical-_Qk9Dp2t > div.main_content-LcrEruCc > div:nth-child(1) > div.text-3zQ3cZD4')[0].text.split()
print(type(wenben))
list.append(wenben)
print(list)
self.textEdit.setText(str(list))
with open('D:\pylearning\day01.txt', 'a+', encoding='utf-8') as f:
f.writelines(str(list))
# #self.textEdit.append(wenben)
def retranslateUi(self, mainWindow):
_translate = QtCore.QCoreApplication.translate
mainWindow.setWindowTitle(_translate("mainWindow", "天下无双"))
self.pushButton.setText(_translate("mainWindow", "点我"))
self.label.setText(_translate("mainWindow", "情报:"))
if __name__== '__main__':
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
list=[]
ui = Ui_mainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
python导入数据库的数据怎么在qt界面里刷新_python爬虫开发通过qt界面显示,爬取数据只能显示最后一次循环结果,appen追加时程序卡住。(已经解决)!!!...相关推荐
- python导入数据库的数据怎么在qt界面里刷新_Python中使用pyqtgraph库实现数据可视化之逐点刷新波形图...
背景 pyqtgraph是Python平台上一种功能强大的2D/3D绘图库,相对于matplotlib库,由于内部实现方式上,使用了高速计算的numpy信号处理库以及Qt的GraphicsView框架 ...
- Python 爬虫实战,模拟登陆爬取数据
Python 爬虫实战,模拟登陆爬取数据 从0记录爬取某网站上的资源连接: 模拟登陆 爬取数据 保存到本地 结果演示: 源网站展示: 爬到的本地文件展示: 环境准备: python环境安装 略 安装r ...
- python爬取大众点评数据_python爬虫实例详细介绍之爬取大众点评的数据
python 爬虫实例详细介绍之爬取大众点评的数据 一. Python作为一种语法简洁.面向对象的解释性语言,其便捷性.容易上手性受到众多程序员的青睐,基于python的包也越来越多,使得python ...
- python爬虫影评_Python爬虫(二十)_动态爬取影评信息
本案例介绍从JavaScript中采集加载的数据.更多内容请参考:Python学习指南 #-*- coding:utf-8 -*- import requests import re import t ...
- python爬取豆瓣电影信息可行性分析_Python爬虫实现的根据分类爬取豆瓣电影信息功能示例...
本文实例讲述了Python爬虫实现的根据分类爬取豆瓣电影信息功能.分享给大家供大家参考,具体如下: 代码的入口:if __name__ == '__main__': main()#! /usr/bin ...
- python爬斗鱼直播_Python爬虫:利用API实时爬取斗鱼弹幕
原标题:Python爬虫:利用API实时爬取斗鱼弹幕 这些天一直想做一个斗鱼爬取弹幕,但是一直考试时间不够,而且这个斗鱼的api接口虽然开放了但是我在github上没有找到可以完美实现连接.我看了好多 ...
- java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决
问题描述: 在使用jsoup爬取其他网站数据的时候,发现class是带空格的多选择,如果直接使用doc.getElementsByClass("class的值"),这种方法获取不到 ...
- PYTHON爬虫神站——curl.trillworks 爬取数据只需两步!
前不久作者因为需要爬取一些建筑类数据 于是又又又准备苦哈哈的打开百度搜索"如何爬取XX",然后看html,找到关键点再挨个循环访问.....以下省略. 但这次 这款朋友推荐网站拯救 ...
- python实例豆瓣音乐代码_Python爬虫实战(3)-爬取豆瓣音乐Top250数据(超详细
前言 首先我们先来回忆一下上两篇爬虫实战文章: 第一篇:讲到了requests和bs4和一些网页基本操作. 第二篇:用到了正则表达式-re模块 今天我们用lxml库和xpath语法来爬虫实战. 1.安 ...
最新文章
- SLAM | 视觉SLAM中特征点法与直接法结合:SVO
- Apache启动报错
- Android手机开机自动启动
- 戏说 Windows GDI (1)
- 阿里云管理Android项目,Android-Sophix
- php获得可靠的精准的当前时间 ( 通过授时服务器 )
- python的等待代码是什么_Python selenium 三种等待方式详解
- js list操作_使用 Node.js 实现一个命令行 todo-list(1)- 基本功能
- 面向对象程序设计简介
- RabbitMQ消息队列-VirtualHost与权限管理
- Linux查看进程下的线程
- GNU Binutils简介及基本用法
- android webview 清空内容,Android WebView清空缓存
- linux 驱动打印机驱动怎么安装步骤,Linux 打印机驱动安装
- SolidWorks2016安装
- html什么是一级标题,一级标题是什么(论文一二三级标题范本)
- 【深度学习6】对比学习(Contrastive Learning)入门
- 【解决电脑】开机屏幕左键无反应,右键变加载;选择文件夹未响应,卡顿40秒后恢复;新建文件夹正常,删除移动卡顿
- 【读者来信】你所认识的世界不一定是真实的
- 近年创业目睹之怪现状