python正则表达式爬虫_python爬虫正则表达式 一定要知道的by地瓜君

2024-03-03 16:50

本文主要是介绍python正则表达式爬虫_python爬虫正则表达式 一定要知道的by地瓜君,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

python爬虫正则表达式,本文原创自www.iplaypy.com玩蛇网会员:地瓜君同学

1-15111GH33Eb.jpg

python爬虫正则表达式介绍,学习爬虫可能会是要做python 漏洞扫描,特别写个篇 文章给大家。T_T!!! 一起学习奥哈。因为自己学爬虫的时候遇到了正则表达式这个东西,当时觉得头好晕。请原谅一个文科生的逻辑思维。最近又仔细看了几遍,就把正则表达式的相关内容到这里填充一下。 今天说说元字符是什么东西。

\ ^ $ * + . | ? {} [] () 这就是元字符了,学会这些应该就够你用的了。

python中的正则表达式通过import re 来使用。 www.iplaypy.com python教程

1python爬虫正则表达式,[] 常用来指定一个字符集,如:[abc ]; [a-z] 里面所有的字母会被一一匹配 例子:

1-15111GH54X02.png

面例子都解释的很清楚了,我就不重复一行行解释了。 注: 示例中^表示取反。

[a-z]表示 从字母a到z所有的字母。

[0-9]等价于[0123456789] 也可以用\d 表示。 所有其它的元字符在[]中将失去原有的意义,比如示例中的^在[]表示取反。

2,^ 表示匹配字符串的开头。在多行模式下匹配每一行的开头。

1-15111GHF92R.png

注:^一般放在字符串开头

3,$ 表示匹配字符串的结尾。在多行模式下匹配每一行的尾部。

1-15111GHU4137.jpg

注:$一般放在字符串结尾。

上面三个可以看成一个小块,你记住了吗?理解了吗?看明白了吗?还有你自己敲一遍代码了吗?????!!!!一定自己尝试敲一遍代码!

好接下来,继续 由于元字符是特殊字符,如果我们要匹配元字符本身的字符应该怎么办呢? 当我们想把元字符变为为普通符号是可以使用\(反斜杠)进行转义。

4,\反斜杠后面可以加不同的字符以表示特殊意义。 也可用于取消所有元字符,变为普通符号。

\d 匹配任何十进制数:相当于[0-9]

\D 匹配任何非数字字符:相当于 [^0-9]

\s 匹配任何空白字符:相当于 [\t\n\r\f\v]

\S 匹配任何非空白字符:相当于 [^\t\n\r\f\v]

\w 匹配任何字母数字下划线字符:相当于[a-zA-Z0-9_]

\W 匹配任何非字母数字下划线字符:相当于[^a-zA-Z0-9_]

你只要能记住加黑加粗的其它的我打赌你肯定也全会了。所以记住加粗的,自己把下面的代码敲一遍。 示例

1-15111GI014H4.jpg

正则表达式可以匹配不定长的字符集,另外也可以指定字符串的重复次数。

* (星号) 指定前一个字符可以匹配0次或者多次,而不是只有1次,匹配结果会尽可能的重复多次最大不超过20亿次。(后面若加问号?变为非贪婪模式仅匹配0次:ab*? 结果为a)

+ (加号) 匹配前一个字符1次或者多次。(后面若加问号?变为非贪婪模式仅匹配1次:ab+? 结果为ab)

? (问号) 匹配前一个字符0次或者1次。(后面若加问号?变为非贪婪模式仅匹配0次:ab?? 结果为a) ?可以是python原本的贪婪模式变为非贪婪模式。

{m} (花括号) m是数字,表示重复前一个字符m次。

{m,n} 表示重复前一个字符m-n次。若省略m则表示0-n次,若省略n表示m到无限次。(后面若加问号?变为非贪婪模式仅匹配0次:ab{2,100}? 结果为abb)

1-15111GI43Q43.jpg

下面是个三个元字符。这三个在爬虫的正则表达式中常被用到,请爱它们。

() | . . 它匹配除了换行字符外的任何字符,在 alternate 模式(re.DOTALL)下它甚至可以匹配换行

| 代表左右表达式任意匹配一个。a|b 匹配a或者匹配b 。 如果没有被(...)括起来它的范围是整个正则表达式。

(...) 将正则表达式分组,每个分组为一个整体,将优先返回分组内的数据。 接下来我们来匹配一个玩蛇网的title html代码

玩蛇网论坛-Python编程开发主题学习社区 - Powered by Discuz!

1-15111GIG4505.jpg

1-15111GIJO38.jpg

本文原创自www.iplaypy.com玩蛇网会员:地瓜君同学

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/crawler/248.html

相关文章 Recommend

这篇关于python正则表达式爬虫_python爬虫正则表达式 一定要知道的by地瓜君的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/770266

相关文章

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Conda与Python venv虚拟环境的区别与使用方法详解

《Conda与Pythonvenv虚拟环境的区别与使用方法详解》随着Python社区的成长,虚拟环境的概念和技术也在不断发展,:本文主要介绍Conda与Pythonvenv虚拟环境的区别与使用... 目录前言一、Conda 与 python venv 的核心区别1. Conda 的特点2. Python v

Python使用python-can实现合并BLF文件

《Python使用python-can实现合并BLF文件》python-can库是Python生态中专注于CAN总线通信与数据处理的强大工具,本文将使用python-can为BLF文件合并提供高效灵活... 目录一、python-can 库:CAN 数据处理的利器二、BLF 文件合并核心代码解析1. 基础合

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文