Analyse HTML à l'aide de Python

Je suis à la recherche d'un Analyseur HTML module Python qui peut m'aider à obtenir les étiquettes sous forme de listes Python/dictionnaires/objets.

Si j'ai un document de la forme:

<html>
<head>Heading</head>
<body attr1='val1'>
    <div class='container'>
        <div id='class'>Something here</div>
        <div>Something else</div>
    </div>
</body>
</html>

alors qu'il devrait me donner un chemin pour accéder aux balises imbriquées par le nom ou l'id de la balise HTML, de sorte que je pouvais lui demander de m'obtenir le contenu/texte dans le div tag avec class='container' contenues dans le body tag, ou quelque chose de similaire.

Si vous avez utilisé Firefox "Inspecter l'élément" fonction (HTML), vous savez qu'il vous donne toutes les balises dans un joli imbriqués, comme un arbre.

Je préfère un module intégré mais que demandez peut-être même un peu trop.


Je suis passé par beaucoup de questions sur Stack Overflow, et quelques blogs sur internet, et la plupart d'entre eux suggèrent BeautifulSoup ou lxml ou HTMLParser mais quelques-uns de ces détails de la fonctionnalité et simplement la fin du débat sur qui est plus rapide/plus efficace.

  • comme tous les autres answerers, je vous recommande de BeautifulSoup, car il est vraiment bien cassé les fichiers HTML.
  • double possible de Parsing HTML en Python
InformationsquelleAutor ffledgling | 2012-07-29