爬虫之re匹配

该博客介绍了Python中使用re模块进行正则表达式操作,如`re.compile`, `re.search`, `re.match`和`re.findall`。同时展示了如何从HTML字符串中提取``标签的`title`属性和`

`标签的内容。示例代码演示了如何匹配和提取字符串中的特定信息。

摘要由CSDN通过智能技术生成
# -*- coding: utf-8 -*-
import re  # 内置库
from requests_html import HTMLSession

"""
1、re.compile  正则表达式的语法
2、re.search   找一个
3、re.match    从头找一个 没有返回None
4、re.findall  找所有 返回列表

.       匹配任意字符,除了换行符,re.DOTALL标记被指定时,则可以匹配包括换行符的任意字符
*       匹配0个或多个的表达式
+       匹配1个或者多个的表达式
?       匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式
[]       表示一组字符。
"|"      A|B,创建一个正则,将匹配A或B。

\s      匹配任何空白字符
\d      匹配任何数字
"""

str1 = '<link rel="search" type="application/opensearchdescription+xml" href="/content-search.xml" title="百度搜索1" title="百度搜索2"/>'
 result = re.findall('title="(.*?)"', str1)  # 第一个参数正则,第二个屎字符串

print(result)


str2 = """
<html>
    <body>
        <p>python</p>
        <div>
            Line 1
        </div>
    </body>
</html>
"""

result1 = re.findall('<p>(.*?)</p>', str2)  # 匹配p标签的内容
 print(result1[0])
# re.S可以多行匹配  re的对象是一行一行匹配
 result2 = re.findall('<div>(.*?)</div>', str2, re.S)[0].strip()  # 得到列表,取下标0,得到字符串,通过strip()去除两边空白
 print(result2)


  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python爬虫中,re库是用于处理正则表达式的库。正则表达式通常被用来检索、查找、替换符合某个模式的文本。在使用re库时,可以按照以下步骤进行操作: 1. 寻找规律: 首先需要确定要匹配的文本的规律,也就是要提取的信息的模式。 2. 使用正则符号表示规律: 在正则表达式中,可以使用基本符号来表达规律。其中,点号"."可以代替除了换行符以外的任何一个字符,包括英文字母、数字、汉字以及标点符号。 3. 提取信息: 使用re库提供的函数和方法来提取匹配到的信息。例如,可以使用re.findall()函数来查找字符串中所有满足正则表达式模式的匹配项。 4. 继续往下看: 通过使用re库提供的其他函数和方法,可以进一步处理和操作匹配到的信息。 例如,可以使用re.search()函数来从任意位置查找第一次匹配的内容,返回一个匹配对象。可以使用re.findall()函数来查找字符串中所有满足正则表达式模式的匹配项,并返回一个匹配列表。 下面是一个示例代码: ```python import re # 定义要匹配的字符串 str = '''hello zHeNghospital world''' # 使用正则表达式匹配字符串 pattern1 = re.compile('hello(.*?)world') pattern2 = re.compile('hello(.*?)world', re.S) res1 = re.findall(pattern1, str) res2 = re.findall(pattern2, str) # 打印匹配结果 print(res1) print(res2) ``` 在上述示例中,通过使用正则表达式,分别使用re.findall()函数和re.compile()函数进行了匹配操作,并打印了匹配结果。 希望以上解答对您有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [python爬虫之re库](https://blog.csdn.net/m0_46500590/article/details/113595077)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值