2

我正在尝试获取一串文本,然后从 html 中“提取”段落/文档中的其余文本。

我目前的方法是尝试在已用 lxml 解析的 html 中找到字符串的“父标签”。(如果您知道解决此问题的更好方法,我会全力以赴!)

例如,在树中搜索“TEXT STRING HERE”并返回“p”标签。(请注意,我不会事先知道 html 的确切布局)

<html>
<head>
...
</head>
<body>
.... 
<div>
...
<p>TEXT STRING HERE ......</p>
...
</html>

谢谢你的帮助!

4

1 回答 1

3

这是使用 ElementTree 的一种简单方法。它确实要求您的 HTML 输入是有效的 XML(所以我在您的 HTML 中添加了适当的结束标签):

import elementtree.ElementTree as ET

html = """<html>
<head>
</head>
<body>
<div>
<p>TEXT STRING HERE ......</p> 
</div>
</body>
</html>"""

for e in ET.fromstring(html).getiterator():
    if e.text.find('TEXT STRING HERE') != -1:
        print "Found string %r, element = %r" % (e.text, e)
于 2009-06-22T01:19:18.187 回答