我正在尝试提取每个 HTML 标记,包括正则表达式的匹配项。例如,假设我想获取包含字符串“name”的每个标签,并且我有一个这样的 HTML 文档:
<html>
<head>
<title>This tag includes 'name', so it should be retrieved</title>
</head>
<body>
<h1 class="name">This is also a tag to be retrieved</h1>
<h2>Generic h2 tag</h2>
</body>
</html>
可能,我应该尝试使用正则表达式来捕获打开和关闭之间的每个匹配项"<>"
,但是,我希望能够根据这些匹配项遍历解析的树,这样我就可以获得兄弟姐妹或父母或“nextElements”。在上面的示例中,这相当于 get<head>*</head>
或者可能<h2>*</h2>
一旦我知道他们是包含匹配项的标签的父母或兄弟姐妹。
我尝试了 BeautifulSoap,但在我看来,当您已经知道要查找的标签类型或基于其内容时,它很有用。在这种情况下,我想先获得一个匹配项,将该匹配项作为起点,然后像 BeautifulSoap 和其他 HTML 解析器那样导航树。
建议?