我正在尝试使用一串文本,并从html中“提取”段落/文档中的其余文本。
我当前的方法是尝试在已用lxml解析的html中找到字符串的“父标记”。 (如果你知道一个更好的方法来解决这个问题,我会全力以赴!)
例如,在树中搜索“TEXT STRING HERE”并返回“p”标签。 (请注意,我事先不知道html的确切布局)
<html>
<head>
...
</head>
<body>
....
<div>
...
<p>TEXT STRING HERE ......</p>
...
</html>
感谢您的帮助!
答案 0 :(得分: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)