Python中正则表达式findall用法

article/2025/10/14 5:15:23

一:前言

在写着自动化测试的脚本时,重新复习了一下正则表达式findall()方法。为了深化印象,输出点东西,就来写个通过正则表达式爬取菜鸟教程标题的小案例。
参考教程:菜鸟教程之Python正则表达式

二:操作

目标:
爬取菜鸟教程首页所有小标题,并输出在控制台。

目标标题:(红色方框那些,爬取页面全部的小标题)
目标图片
笔者默认大家都安装了python和安装了谷歌的驱动了。

再看看小标题的组成规律:(H4和“【】”)
规律

上代码:

#!/usr/bin/env python3
# -*- coding:utf-8 -*-from selenium import webdriver
import re
import timeclass runoob():def __init__(self):#获取驱动self.browser = webdriver.Chrome()#确定目标网站self.browser.get("https://www.runoob.com/")#窗口最大化self.browser.maximize_window()#隐性等待3秒,打不开页面才报错self.browser.implicitly_wait(3)def close_window(self):#静待5秒time.sleep(5)#退出页面self.browser.quit()def get_title(self):#获取页面源码self.page = self.browser.page_source#匹配标题。小标题都是H4大小的,并且都被“【】”包围着self.titles = re.findall(r'【(.*?)】</h4>', self.page)#循环输出在控制台for title in self.titles:print(title)if __name__ == '__main__':#创建类runoob = runoob()#调用获取小标题方法runoob.get_title()#调用退出窗口方法runoob.close_window()

三:尾言

笔者演示了正则表达式中findall方法比较常见的用法,如果还想深入了解此方法或其它方法,请多看看菜鸟教程。


http://chatgpt.dhexx.cn/article/33oOfCB7.shtml

相关文章

python爬虫beautifulsoup findall函数详解

测试网站&#xff1a; http://www.pythonscraping.com/pages/warandpeace.html 内容初探 有一些奇怪的红绿分类 网页源码介入&#xff1a; 我们所要做的就是识别<>中的信息&#xff0c;然后提取它后面的内容 基础网络连接代码&#xff1a; html urlopen("h…

正则表达式入门-findall()函数

正则表达式入门-findall()函数 findall()函数 例子 import re a 123abc rere.findall(\d\d\d,a) print(re)导入用于完成正则表达式操作的re库 使用re库中的findall()函数提取文本 \d表示匹配1个数字&#xff0c;那么\d\d\d就表示匹配连续的3个数字 语法为 re.findall(匹…

38 匹配字符串——findall()方法

文章目录 语法案例 语法 findall()方法用于在整个字符串中搜索所有符合正则表达式的字符串&#xff0c;并以列表的形式返回。如果匹配成功&#xff0c;则返回包含匹配结构的列表&#xff0c;否则返回空列表。findall()方法的语法格式如下&#xff1a; re.findall(pattern, st…

Qt QLabel样式表总结

先来个例子 QLabel {font-family: "Microsoft YaHei";font-size: 14px;color: #BDC8E2;background-color: #2E3648; }效果 上面的例子是基本的样式设置&#xff0c;下面我们将探讨 QLable 各种样式设置&#xff1a; 字体样式 font-family: "Microsoft YaHe…

QT QLabel中字体行间距怎么设置?

方式一&#xff1a;<br>可以达到换行的效果&#xff0c;但是行间距太小了&#xff0c;两个<br>又太大了&#xff0c;这种方法并不可控。 m_titleLabel->setText("<font style font-size:19px; color:#ffff00;font-weight:bold> 客户端界面 </font…

重写QLabel实现图片显示框选截取保存

之前写过用重写QGraphicsItem的方式来实现图片显示&#xff0c;框选&#xff0c;保存的代码&#xff0c;这次通过重写QLabel的方式来实现。 主要重写QLabel的代码如下&#xff1a; mylabel.h #ifndef MYLABEL_H #define MYLABEL_H#include <QObject> #include <QWidg…

QLabel 标签

QLabel 标签 QLabel 是 PyQt6 里用来建立文字或图片的标签控件&#xff0c;这篇教学会介绍如何在 PyQt6 窗口里加入 QLabel 标签&#xff0c;并进行像是文字字型、大小、颜色和位置...等参数设定。 快速预览&#xff1a; 加入 QLabel 标签 QLabel 位置设定 QLabel 文字设定 …

QLabel的使用

QLabel介绍 QLabel 是 Qt 框架中的一个控件类&#xff0c;用于显示文本或图像。它可以在窗口或其他容器中显示静态文本&#xff0c;并且可以根据需要设置格式、对齐方式和尺寸。 主要作用如下&#xff1a; 显示文本内容&#xff1a;QLabel 可以显示文字内容&#xff0c;可以…

QLabel显示图像

QLabel显示图像 通常用QLabel显示图像&#xff0c;QLabel类有setPixmap()函数&#xff0c;可以用来显示图像。也可以直接用QPainter画出图像。 如果图像过大&#xff0c;直接用QLabel显示&#xff0c;将会出现有部分图像显示不出来&#xff0c;这时可以用Scroll Area部件。方…

QLabel绘制滚动文本

实现思路 绘制滚动文本是个很简单的事&#xff0c;只需要用定时器累计一个文本坐标偏移量&#xff0c;然后 update &#xff0c;在 paintEvent 里把文本画出来。 Qt 定时刷新可以用&#xff08;可能还有其他方式&#xff09;&#xff1a; QObject的startTimer配合paintEvent&…

PyQt5 QLabel控件

PyQt5 QLabel控件 QLabel常用方法显示动画超链接 QLabel常用信号 QLabel 就是常见的标签&#xff0c;可以用来显示文字&#xff08;包括纯文本和富文本)&#xff0c;图片及动画。 QLabel常用方法 方法描述margin保存 QLabel 控件中内容与边框之间的距离&#xff08;边距&#…

Qt QLabel详解

一、QLabel常用方法 1. QLabel设置文本内容 ui.label->setText(QStringLiteral("测试中文\n"));2. QLabel设置颜色 通过设计器里面的改变样式进行设置&#xff1a;同时可以设置字体、文本对齐方式、背景图片 color: rgb(255, 85, 0); background-color: rgb(8…

Qt之QLabel(属性 显示图片 显示动图 显示富文本信息 信号)

QLabel可以说是Qt中最常见的控件之一&#xff0c;主要用来显示文本文字、显示图片、显示gif动图、显示富文本信息。本文将从以下几个方面对QLabel进行介绍: [1]显示及获取文本文字 [2]显示图片 [3]显示动图 [4]显示富文本信息 [5]常用属性设置 [6]信号事件 至于样式表(Q…

Qt扫盲-QLabel使用总结

QLabel使用总结 一、QLabel 显示内容二、注意事项1. 格式注意2. 不保留先前状态3. 格式对齐4. 伙伴焦点 三、信号和槽函数使用1. 信号2. 槽函数 总结&#xff1a; QLabel 其实就是一个用来只读显示的简易控件。适合数据量很小的内容显示。 QLabel用于显示 文本或图像。 不提供…

QT常用控件——QLabel标签控件

操作系统: 统信UOSv20 Qt版本: 5.11.3 一&#xff0c;简单介绍 QLabel用于显示文本或图像&#xff0c;不提供用户交互功能&#xff0c;标签的视觉外观可以以各种方式配置。 项目内容HeaderQLabelqmakeQT widgetsInheritsQFrame 二&#xff0c;常用方法 1. 常用方法 方法…

JavaScript 弹出对话框3种方式

js 弹出对话框3种方式对话框有三种 1&#xff1a;只是提醒&#xff0c;不能对脚本产生任何改变&#xff1b; 2&#xff1a;一般用于确认&#xff0c;返回 true 或者 false &#xff0c;所以可以轻松用于 if...else...判断 3&#xff1a;一个带输入的对话框&#xff0c;可以返回…

js的弹出框

js的弹出框包括三种&#xff1a;alert、confirm、prompt 1 alert() alert()方法有一个参数&#xff0c;就是用户想弹出的内容&#xff0c;弹出框很简单&#xff0c;就一个显示功能&#xff0c;你可以点击确认关闭这个弹出框。 例如&#xff1a; alert("hello world&…

JavaScript弹出对话框的三种方法

三种方法 alert(); 最简单&#xff0c;将alert();括号内的内容弹出。 confirm(); 与alert();类似&#xff0c;包含确认和取消按钮&#xff0c;点击确定confirm();方法会返回true&#xff0c;点击取消confirm();方法会返回false&#xff1b; prompt(); 与confirm();方法…

JavaScript弹出框

提到弹出框&#xff0c;首先想到的alert()了&#xff0c;其次想到的也还是alert&#xff08;&#xff09;&#xff0c;其实在js中有三种弹出框&#xff0c;下面我们一一说明。 1&#xff0c;仅确定。 即&#xff1a;对话框界面上只有确定按钮。该功能可以使用alert&#xff08;…

JS弹出对话框的三种方式

javascript的三种对话框是通过调用window对象的三个方法alert()&#xff0c;confirm()和prompt()来获得&#xff0c;可以利用这些对话框来完成js的输入和输出&#xff0c;实现与用户能进行交互的js代码。 第一种&#xff1a;alert()方法 alert()方法是这三种对话框中最容易使用…