使用 Python 中的 Beautifulsoup 获取标签名称


BeautifulSoup 被认为是最广泛使用的 Python 网络爬虫包之一。它是用于解析 HTML 和 XML 文档最棒的工具之一,它使从网站提取数据变得更简单快捷。对于特定 HTML 和 XML 元素提取标签名称是网络爬虫中最常见的任务之一。在处理 HTML 和 XML 文档时,获取给定元素的标签名称是最常见的任务之一。

可以使用以下命令安装 Python 的 BeautifulSoup 库

pip install beautifulsoup4

方法

  • 使用 name 属性

方法 1:使用 name 属性

此方法包括使用 BeautifulSoup 获取标签名称,即 Tag 对象的 name 属性。此属性返回标签名称的字符串值。以下是 name 属性的语法

语法

tag.name

返回类型 包含 Tag 名称的字符串值。

算法

  • 导入 BeautifulSoup 模块。

  • 定义一个将用于从中获取标签的 HTML 多行字符串。

  • 通过向 BeautifulSoup 构造函数提供 HTML 文档和解析器作为输入来创建 BeautifulSoup 对象。在本例中,使用 html.parser 作为解析器。

  • 使用 soup.find() 方法查找文档中 `

    ` 标签的第一次出现。

  • 使用 name 属性获取 p Tag 对象的名称。

  • 使用 print() 语句打印标签名称。

示例 1

以下是演示此方法的示例代码

from bs4 import BeautifulSoup

# HTML document to be parsed
html_doc = """
<html>
<head>
   <title>TutorialsPoint</title>
</head>
<body>
   <p>TutorialsPoint</p>
</body>
</html>
"""

# Parse the HTML document using BeautifulSoup
soup = BeautifulSoup(html_doc, 'html.parser')

# Get the first <p> tag in the HTML document
p_tag = soup.find('p')

# Get the tag name using the name attribute
tag_name = p_tag.name

# Print the tag name
print("Tag name is:", tag_name)

输出

Tag name is: p

示例 2

在此示例中,我们正在解析 XML 文档并从自定义标签获取标签名称。

from bs4 import BeautifulSoup

xml_doc = '''
<book>
    <title>Harry Potter</title>
    <author>J.K. Rowling</author>
    <publisher>Bloomsbury</publisher>
</book>
'''

# Parse the XML document using BeautifulSoup
soup = BeautifulSoup(xml_doc, 'xml')

# Get the first <author> tag in the XML document
tag = soup.find('author')

# Get the tag name using the name attribute
tag_name = tag.name

# Print the tag name
print("Tag name is:", tag_name)

输出

Tag name is: author

示例 3

在此示例中,我们使用其类获取标签,然后应用 name 属性来获取标签的名称。

from bs4 import BeautifulSoup

# HTML document to be parsed
html_doc = """
<html>
<head>
   <title class="tut">TutorialsPoint</title>
</head>
<body>
   <p>TutorialsPoint</p>
</body>
</html>
"""

# Parse the HTML document using BeautifulSoup constructor
soup = BeautifulSoup(html_doc, 'html.parser')

# Get the tag using its class
p_tag = soup.find(class_='tut')

# Get the tag name using the name attribute
tag_name = p_tag.name

# Print the tag name
print("Tag name is:", tag_name)

输出

Tag name is: title

示例 4

在此示例中,我们使用其 id 获取标签,然后应用 name 属性来获取标签的名称。

from bs4 import BeautifulSoup

# HTML document to be parsed
html_doc = """
<html>
<head>
   <title id="tut">TutorialsPoint</title>
</head>
<body>
   <p>TutorialsPoint</p>
</body>
</html>
"""

# Parse the HTML document using BeautifulSoup
soup = BeautifulSoup(html_doc, 'html.parser')

# Get the tag using its id
p_tag = soup.find(id='tut')

# Get the tag name using the name attribute
tag_name = p_tag.name

# Print the tag name
print("Tag name is:", tag_name)

输出

Tag name is: title

结论

可以说 BeautifulSoup 是一个强大的 Python 模块,它使解析 HTML 和 XML 文本变得简单。它提供各种工具和选项来搜索、导航和修改文档树。

每个示例根据使用的方法或函数都有其自身的优缺点。您可以根据想要使用的表达式的复杂性和编写代码的个人喜好来选择所需的方法。

更新于:2023年5月29日

3K+ 次浏览

启动您的 职业生涯

完成课程获得认证

开始
广告