我正在寻找一个Python的HTML解析器模块,可以帮助我将标签以Python列表/字典/对象的形式获取。
如果我有一个如下形式的文档:
<html>
<head>Heading</head>
<body attr1='val1'>
<div class='container'>
<div id='class'>Something here</div>
<div>Something else</div>
</div>
</body>
</html>
那么它应该给我一种访问嵌套标签的方式,通过 HTML 标签的名称或 ID,以便我基本上可以要求它获取包含在 body
标签中,并具有 class='container'
的 div
标签中的内容/文本,或类似的东西。
如果您使用过 Firefox 的“检查元素”功能(查看 HTML),则会发现它以漂亮的嵌套方式呈现所有标签,就像一个树形结构。
我更喜欢内置模块,但这可能要求有点过多了。
我浏览了 Stack Overflow 上的很多问题和一些博客,其中大部分建议使用 BeautifulSoup、lxml 或 HTMLParser,但其中很少有关于功能的详细说明,简单地结束为哪一个更快/更有效率的辩论。