2017-02-02 1 views
0

Hier ist der Teil von HTML, die ich zu analysieren, ich versuche:Parsing Malformed HTML in Python gibt Indexfehler außerhalb des zulässigen Bereichs

<div class="syntax-container"> 
<h2>Official Syntax</h2> 
<ul> 
    <li> 
    <strong>Syntax: </strong> </p> 
    <pre>text-align: start | end | left | right | center | justify</pre> 
    </li> 
    ...and so on. 

Das ist mein Python-Code:

soup = bs4.BeautifulSoup(res.text, "html.parser") 
propSyntax = ''.join(soup.select('.syntax-container pre')[0].findAll(text=True)) 
propSyntax = propSyntax.strip() 
propSyntax = '<h2>Syntax</h2>' + '<p><pre>' + propSyntax + '</pre></p>' 

Dies ist Fehler erhalte ich:

propSyntax = ''.join(soup.select('.syntax-container pre')[0].findAll(text=True)) 
IndexError: list index out of range 

ich verstehe, dass der Fehler aufgrund der zusätzlichen </p> nachist, aber ich weiß nicht, wie ich diesen Fehler beheben und die Daten richtig analysieren kann. Jede Hilfe hier würde geschätzt werden.

Antwort

0

Haben Sie versucht, schön zu werden? Wenn nicht versuchen:

soup.prettify() 

oder

soup.prettify().select('.syntax-container pre')[0].findAll(text=True) 
+0

Ich denke, das eine unendliche Schleife geschaffen, weil die nichts in der Konsole passiert ist, nachdem ich den Code aktualisiert. –

+0

können Sie Ihren vollständigen Code oder einige mehr –

+0

posten Ich habe die Frage aktualisiert. :) –

Verwandte Themen