Domanda

Sto cercando di prendere una stringa di testo e " extract " il resto del testo nel paragrafo / documento dell'html.

Il mio attuale approccio is sta cercando di trovare il tag " parent " della stringa nell'html che è stata analizzata con lxml. (se conosci un modo migliore per affrontare questo problema, sono tutto orecchi!)

Ad esempio, cerca nell'albero " STRUMENTO DI TESTO QUI " e restituisci il messaggio " p " etichetta. (nota che non saprò in anticipo l'esatto layout dell'html)

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

Grazie per l'aiuto!

È stato utile?

Soluzione

Questo è un modo semplice per farlo con ElementTree. Richiede che il tuo input HTML sia un XML valido (quindi ho aggiunto i tag end appropriati al tuo 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)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top