import re
def extract_data_from_html(html_content, tag_name, attribute_name):
"""
从HTML内容中提取特定标签的属性值。
参数:
- html_content: 字符串,包含HTML内容。
- tag_name: 字符串,要提取的标签名称。
- attribute_name: 字符串,要提取的属性名称。
返回:
- 属性值列表。
"""
pattern = r'<{0}[^>]*{1}=["\']?([^"\'>]+)["\']?[^>]*>'.format(tag_name, attribute_name)
matches = re.findall(pattern, html_content)
return [match[0] for match in matches]
# 示例HTML内容
html_example = """
<html>
<body>
<img src="image1.png" alt="First Image">
<img src="image2.png" alt="Second Image">
<a href="link.html" class="my-link">Click Here</a>
</body>
</html>
"""
# 使用函数提取img标签的src属性值
src_values = extract_data_from_html(html_example, 'img', 'src')
print('Image sources:', src_values)
# 使用函数提取a标签的href属性值
href_values = extract_data_from_html(html_example, 'a', 'href')
print('Links:', href_values)
这段代码定义了一个函数extract_data_from_html
,它接受HTML内容、标签名称和属性名称作为参数,使用正则表达式匹配这些标签的属性值,并返回一个包含这些值的列表。然后,我们使用这个函数来提取示例HTML内容中img
和a
标签的src
和href
属性值,并打印结果。这是一个实际应用正则表达式从HTML中提取数据的例子。