如何使用 Beautiful Soup 提取此 HTML 元素属性的值?
Posted
技术标签:
【中文标题】如何使用 Beautiful Soup 提取此 HTML 元素属性的值?【英文标题】:How would I extract the value of this HTML element attribute with Beautiful Soup? 【发布时间】:2012-01-01 13:51:41 【问题描述】:我正在开发一个小工具来抓取网页。我正在使用Beautiful Soup。我想从页面中获取类 ID。 html 代码如下所示:
<span class='class_id' id='New_line'></span>
如何获得class_id
?
【问题讨论】:
【参考方案1】:此答案是指未提及 beautifulsoup
的旧版本问题
您可以使用 LXML 并遍历所有元素,要求它们提供“类”属性的值。 LXML 是一个用于解析 XML 文档的库。
例如:
from lxml import etree
root = etree.parse(filename).getroot()
for span in root.iterdescendants("span"):
cls = span.attrib.get("class")
【讨论】:
我正在使用beautifulsoup
库来解析 HTML。你认为我可以用它来获取类属性吗?
也许您在here 中查找“标签的属性”。【参考方案2】:
下面的例子对你有帮助吗?
>>> 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')]
【讨论】:
以上是关于如何使用 Beautiful Soup 提取此 HTML 元素属性的值?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Beautiful Soup 从 <script> 中提取内容
python 使用Beautiful Soup从页面中提取数据