【问题标题】:Finding the parent tag of a text string with ElementTree/lxml使用 ElementTree/lxml 查找文本字符串的父标记
【发布时间】:2010-11-04 17:42:46
【问题描述】:

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

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

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

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

感谢您的帮助!

【问题讨论】:

    标签: python lxml elementtree


    【解决方案1】:

    这是使用 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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-10
      • 2016-04-03
      • 2020-07-28
      • 2010-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多