📅  最后修改于: 2023-12-03 15:27:11.171000             🧑  作者: Mango
在 Web 开发中,我们经常需要从 HTML 页面中提取出特定的信息。这时,我们可以使用 Python 的 re 模块来实现。
Python 的 re 模块是专门用于正则表达式操作的模块。它提供了许多函数和方法,可以用来查找、匹配和替换字符串中的内容。
下面是一些 re 模块中常用的函数和方法:
从 HTML 页面中提取文本通常涉及到使用正则表达式。下面是一个简单的 Python 程序,它可以提取 HTML 中指定标签之间的字符串。
import re
def extract_html_tag_text(html_str, tag_name):
pattern = re.compile(r'<{0}.*?>(.*?)</{0}>'.format(tag_name), flags=re.DOTALL)
match_obj = pattern.search(html_str)
if match_obj:
return match_obj.group(1)
else:
return None
接下来,我们通过一些例子来看看这个程序如何工作。
# 定义一个 HTML 字符串
html_str = '''
<html>
<head>
<title>Test Page</title>
</head>
<body>
<h1>Welcome to my website!</h1>
<p>This is a test page.</p>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</body>
</html>
'''
# 提取 <h1> 标签中的文本
h1_text = extract_html_tag_text(html_str, 'h1')
print(h1_text) # 输出:Welcome to my website!
# 提取 <p> 标签中的文本
p_text = extract_html_tag_text(html_str, 'p')
print(p_text) # 输出:This is a test page.
# 提取 <li> 标签中的文本
li_text = extract_html_tag_text(html_str, 'li')
print(li_text) # 输出:Item 1
通过上面的例子,我们可以看到,这个程序可以方便地从 HTML 中提取出指定标签之间的文本,而且它还可以处理标签里面有嵌套标签的情况。