利用BeautifulSoup和PyQt5做小案例

  • 前言
  • 一、介绍功能
  • 二、程序步骤
    • 1.引入库
    • 2.窗体的创造
    • 3.获取网络资源
    • 4.全部代码
    • 5.打包成EXE文件
  • 总结

前言

这是鄙人第一次的小的尝试,当然还不够完善,有待参考,同时希望大家提出意见!


提示:以下是本篇文章正文内容,下面案例可供参考

一、介绍功能

利用requests库和beautifulsoup解析,另加上一个PyQt5的GUI,打造了一个可以输入明星名字,就可以检索出来相应的介绍。eg:

二、程序步骤

1.引入库

代码如下(示例):

import sysimport requests
from PyQt5.QtGui import QColor
from PyQt5.QtWidgets import (QWidget, QLabel, QLineEdit,QTextEdit, QGridLayout, QApplication, QPushButton, QColorDialog)
from bs4 import BeautifulSoup

2.窗体的创造

代码如下(示例):

 def initUI(self):title = QLabel('请输入一个你喜欢的明星:')author = QLabel('简介:')btn1 = QPushButton("确定")btn2 = QPushButton("选择编辑框颜色")# btn3 = QPushButton("Review")self.titleEdit = QLineEdit()authorEdit = QLineEdit()self.reviewEdit = QTextEdit()grid = QGridLayout()grid.setSpacing(10)grid.addWidget(title, 1, 0)grid.addWidget(self.titleEdit, 1, 1, 1, 2)grid.addWidget(btn1, 1, 2)grid.addWidget(author, 3, 0)grid.addWidget(self.reviewEdit, 3, 1, 5, 2)grid.addWidget(btn2, 3, 0, 5, 1)col = QColor(0, 0, 0)btn2.clicked.connect(self.showDialog1)btn1.clicked.connect(self.info_name)# reviewEdit.setStyleSheet()self.setLayout(grid)self.setGeometry(300, 300, 500, 300)self.setWindowTitle('Review')self.show()

3.获取网络资源

代码如下(示例):

    def info_name(self):str=self.titleEdit.text()url = f"https://www.sogou.com/web?query={str}"  # 有了反馈fdidc = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Edg/92.0.902.62"}resp = requests.get(url, headers=didc)html = resp.textoperat = BeautifulSoup(html, "lxml")for tag in operat.select('#sogou_vr_30010254_0 > div.special-wrap.title-newblue.border-radius.baike200107 > div:nth-child(4) > div.wiki-wrap > p'):x = tag.get_text()[:-2]self.reviewEdit.setText(x)

4.全部代码

代码如下(示例):

#!/usr/bin/python"""
author:Joy_9"""import sysimport requests
from PyQt5.QtGui import QColor
from PyQt5.QtWidgets import (QWidget, QLabel, QLineEdit,QTextEdit, QGridLayout, QApplication, QPushButton, QColorDialog)
from bs4 import BeautifulSoupclass Example(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):title = QLabel('请输入一个你喜欢的明星:')author = QLabel('简介:')btn1 = QPushButton("确定")btn2 = QPushButton("选择编辑框颜色")# btn3 = QPushButton("Review")self.titleEdit = QLineEdit()authorEdit = QLineEdit()self.reviewEdit = QTextEdit()grid = QGridLayout()grid.setSpacing(10)grid.addWidget(title, 1, 0)grid.addWidget(self.titleEdit, 1, 1, 1, 2)grid.addWidget(btn1, 1, 2)grid.addWidget(author, 3, 0)grid.addWidget(self.reviewEdit, 3, 1, 5, 2)grid.addWidget(btn2, 3, 0, 5, 1)col = QColor(0, 0, 0)btn2.clicked.connect(self.showDialog1)btn1.clicked.connect(self.info_name)# reviewEdit.setStyleSheet()self.setLayout(grid)self.setGeometry(300, 300, 500, 300)self.setWindowTitle('Review')self.show()def showDialog1(self):col = QColorDialog.getColor()if col.isValid():self.reviewEdit.setStyleSheet('QWidget { background-color: %s }'% col.name())def info_name(self):str=self.titleEdit.text()url = f"https://www.sogou.com/web?query={str}"  # 有了反馈fdidc = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Edg/92.0.902.62"}resp = requests.get(url, headers=didc)html = resp.textoperat = BeautifulSoup(html, "lxml")for tag in operat.select('#sogou_vr_30010254_0 > div.special-wrap.title-newblue.border-radius.baike200107 > div:nth-child(4) > div.wiki-wrap > p'):x = tag.get_text()[:-2]self.reviewEdit.setText(x)def main():app = QApplication(sys.argv)ex = Example()sys.exit(app.exec_())if __name__ == '__main__':main()

5.打包成EXE文件

代码如下(示例):


这就是提示,叫我放在C:\Users\Cactus\的路径下。

 pip install pyinstaller

总结

能够把这几个一起综合的运用,我是感觉,我还是扶得上墙,学习的路永无止境,好好加油!,给爷敲代码去

Python_杂学系列_4.利用BeautifulSoup和PyQt5做小案例相关推荐

  1. Python_杂学系列_3.python进阶

    系列文章目录 文章目录 系列文章目录 前言 一.参考资料 二.不定参数*args 和 **kwargs 三.生成器(Generators) 四,Map,Filter 和 Reduce 五,set(集合 ...

  2. Python_杂学系列_2.复习代码

    系列文章目录 文章目录 系列文章目录 前言 一.有四个数字:1.2.3.4 二.递归函数 三.迭代器 四.九九乘法表 五.不定长参数*args,**kwargs 六.当前时间,计算海里 七.字典推导式 ...

  3. Python_杂学系列_1.有趣的小程序

    系列文章目录 文章目录 系列文章目录 前言 1.搞怪的弹窗,自带的tk 2.爱心 3.哆啦A梦 4.画小恐龙 5.小小的心意 尝试 总结 前言 这里有一些有趣的pythonxiao程序如:五角星,爱心 ...

  4. 利用js实现论坛发帖小案例

      演示情况:

  5. Java反射机制大神必学系列之 ,高级与低级的差别在哪里?

    Java反射机制大神必学系列之 ,高级与低级的差别在哪里? java学习爱好者 2019-05-20 19:08 前言 今天介绍下Java的反射机制,以前我们获取一个类的实例都是使用new一个实例出来 ...

  6. 互联网大脑的情绪,智商和梦境-互联网神经学系列第四篇

    这是互联网神经学系列的第四篇文章"互联网大脑的情绪.智商和梦境,互联网神经心理学" 1.互联网神经心理学的提出 我们在互联网神经学系列的第三篇文章中详细介绍了互联网大脑的架构和运行 ...

  7. Java私塾跟我学系列——JAVA篇 第四章Java类和对象

    教学目标: i面向对象基础 i掌握对象的三大特性 i掌握Java类的构建 i掌握如何使用Java类 i理解引用类型 i理解按值传递和按引用传递 i深入理解变量 i掌握包装类 i理解类型转换 i理解Ja ...

  8. python 利用Beautifulsoup爬取笑话网站

    2019独角兽企业重金招聘Python工程师标准>>> 利用Beautifulsoup爬取知名笑话网站 首先我们来看看需要爬取的网站:http://xiaohua.zol.com.c ...

  9. 06—小白学Python爬虫之BeautifulSoup入门与应用(以糗百为例)

    之前介绍了通过正则和xpath来解析HTML文本,本篇将会介绍一种全新的方式BeautifulSoup来解析HTML,相对前两种使用更简单,那么,在介绍之前,先对这三种方式做一个简单的对比. 抓取方式 ...

最新文章

  1. FASTQ! BAM! VCF
  2. C++ Primer 5th笔记(chap 19 特殊工具与技术)局部类
  3. SPT20 协议_协议离婚协议书模板锦集6篇
  4. 西安工业学院计算机系王翊,西安文理学院艺术学院
  5. PDF文件如何转成markdown格式 1
  6. linux 的终端字体色和背景色的修改方法(二)
  7. 信息学奥赛一本通 1017:浮点型数据类型存储空间大小 | OpenJudge NOI 1.2 02
  8. python2.0_day19_后台数据库设计思路
  9. python 当前时间的前一天_Python与Stata的数据交互
  10. java操作无符号数
  11. ps 蒙版抠图更换背景色或背景图片
  12. 3分钟微信支付商家注册0.2费率开户方法,0.38~0.6的必看
  13. 巡检设备RFID技术应用浅析
  14. Python40行代码爬取电影天堂的电影下载连接
  15. 编程术语晦涩_晦涩的编程语言的乐趣
  16. LEDE嵌入式无线路由系统定制
  17. 【Python】 调用百度地图API抓取西安市小区信息
  18. Python如何读取Jason格式,变成dataframe
  19. 《谍影重重4》虎头蛇尾
  20. VCC VDD VSS

热门文章

  1. C++中的try、catch跟throw以及传统处理异常的方法
  2. GCMail邮件服务器对“超级工厂”病毒攻击采取了哪些防御措施
  3. Easyui 线上考试答题
  4. 一维条形码ean-13格式编码 最后一位校验码的生成规则 及代码
  5. 浙江省计算机一级linux,浙江省大学计算机一级Linux浙江省大学计算机三级Linux网络管理应用.doc...
  6. UML常见依赖关系图
  7. ls2k1000在linux3.10内核下的中断分析
  8. python人脸识别代码是什么_几行代码带你实现人脸识别。Python 就是这么简单
  9. 虚拟化服务器怎么重设密码,VMware Esxi忘记root密码重置密码的解决方法
  10. 数据恢复软件设计与实现(二)