使用 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 文本变得简单。它提供各种工具和选项来搜索、导航和修改文档树。
每个示例根据使用的方法或函数都有其自身的优缺点。您可以根据想要使用的表达式的复杂性和编写代码的个人喜好来选择所需的方法。