如何用Beautiful Soup提取这个HTML元素属性的值?

4 投票
2 回答
5513 浏览
提问于 2025-04-17 06:37

我正在开发一个小工具,用来抓取网页上的信息。我使用的是Beautiful Soup这个库。我想从页面中获取一个叫做类ID的东西。页面的HTML代码大概是这样的:

<span class='class_id' id='New_line'></span>

我该怎么获取这个class_id呢?

2 个回答

5

这个回答是针对问题的早期版本,当时没有提到beautifulsoup

你可以使用LXML这个工具,逐个检查所有元素,看看它们的“class”属性值是什么。LXML是一个用来解析XML文档的库。

比如说:

from lxml import etree
root = etree.parse(filename).getroot()

for span in root.iterdescendants("span"):
    cls = span.attrib.get("class")
3

下面这个例子可能对你有帮助吗?

>>> from BeautifulSoup import BeautifulSoup as B
>>> s = B("<span class='class_id' id='New_line'></span>")
>>> s.span.attrs
[(u'class', u'class_id'), (u'id', u'New_line')]

撰写回答