当前位置: 代码迷 >> 综合 >> day03-----PyQt、爬虫
  详细解决方案

day03-----PyQt、爬虫

热度:90   发布时间:2023-09-19 10:47:53.0

文章目录

  • 1.pyqt
    • 1.1 下载(慢的话可以用清华镜像)
    • 1.2 使用
      • 1.2.1 ui制作+转python
      • 1.2.2 新建一个py文件调用转换成python的ui
      • 1.2.3 代码如下:(pmQt就是转换成python的UI文件的名字)
  • 2.数据爬取和分析的基本模式
    • 2.1 数据下载
      • 2.1.1 requests
    • 2.1.2 数据解析
  • 3.代码例子

1.pyqt

步骤:
1.用Qt desginer画出UI
2.UI转成python可执行的py文件
3.新建一个py文件调用转成py的UI,进行UI里类的对象化
4.执行

1.1 下载(慢的话可以用清华镜像)

pip install pyqt

1.2 使用

1.2.1 ui制作+转python

1.安装Qt设计师这个软件
下载地址:https://build-system.fman.io/qt-designer-download(使用迅雷下载,因为快!!!)
下载后安装
汉化:到translations文件夹下将汉化包放进去
汉化包地址:https://download.csdn.net/download/qq_34405401/12194007
汉化后界面如下:
day03-----PyQt、爬虫
2.设计布局
day03-----PyQt、爬虫
3.命名规范
添加各种框、按钮、改名字
day03-----PyQt、爬虫
4.添加一个槽函数(被信号调用)----->被调用的处理逻辑的实现
day03-----PyQt、爬虫
5.绑定槽函数与信号(绑定后,点击按钮就会发送一个信号,信号被槽函数接收到后就会执行)
day03-----PyQt、爬虫
下面的小图与源程序并不对应,只是看的清楚起示意作用!
day03-----PyQt、爬虫
6.UI文件翻译成python ----->pyuic5(因为python不支持,所以要翻译成python语法)
进入ui文件所在的位置,执行:
pyuic5 -o "要翻译成的文件" “被翻译的文件”
pyuic5 -o trans.py trans.ui

1.2.2 新建一个py文件调用转换成python的ui

1.构造器
ui文件的使用
2.槽函数实现
3.运行

1.2.3 代码如下:(pmQt就是转换成python的UI文件的名字)

from PyQt5 import QtCore,QtGui,QtWidgets
import pmQt#对话框
class selectDlg(QtWidgets.QDialog):#构造器def __init__(self,parent=None):super(selectDlg,self).__init__(parent)#用ui python文件里的的类创建一个成员对象,Ui_PM是ui python文件里的那个类名self.ui=pmQt.Ui_PM()#下面这句是固定的self.ui.setupUi(self)#槽函数实现def select(self):#输入框的名字叫做inputCity,这个语句的作用是读取输入框输入的值cityName = self.ui.inputCity.text()#有个显示组件的名字叫做printTime,这个语句的作用是在printTime组件上显示cityName的值self.ui.printTime.setText(cityName)print("click信号")#下面是固定写法
app = QtWidgets.QApplication([])dlg = selectDlg()
dlg.show()
#保证程序不退出
app.exec()

运行结果:
day03-----PyQt、爬虫
day03-----PyQt、爬虫

2.数据爬取和分析的基本模式

socket ---->http + urllib ---->
requests(封装:HTTP Request Response Session)(适合单一页面爬取)
Scrapy(工程框架)(工程型爬取)
bs4 :数据解析 (xpath等)
爬虫把页面下载下来,数据解析抽取所需数据

2.1 数据下载

2.1.1 requests

1.创建一个网路会话
2.按照网络请求的方法下载数据(get方法、post方法、input方法等)

2.1.2 数据解析

bs4.find()
------xpath
------select(selector)

3.代码例子

用QT+requests做了个简单的例子作为演示

https://download.csdn.net/download/qq_34405401/12194456