Estou procurando um módulo Parser HTML para Python que possa me ajudar a obter as tags na forma de listas / dicionários / objetos em Python.
Se eu tiver um documento do formulário:
<html>
<head>Heading</head>
<body attr1='val1'>
<div class='container'>
<div id='class'>Something here</div>
<div>Something else</div>
</div>
</body>
</html>
então, ele deve me dar uma maneira de acessar as tags aninhadas por meio do nome ou ID da tag HTML, para que eu possa basicamente solicitar que o conteúdo / texto da div
tag class='container'
contido na body
tag ou algo semelhante.
Se você usou o recurso "Inspecionar elemento" do Firefox (visualizar HTML), saberia que ele fornece todas as tags de maneira agradável e aninhada, como uma árvore.
Eu preferiria um módulo interno, mas isso pode estar pedindo um pouco demais.
Passei por muitas perguntas sobre o Stack Overflow e alguns blogs na Internet, e a maioria deles sugere BeautifulSoup ou lxml ou HTMLParser, mas poucos detalham a funcionalidade e simplesmente terminam como um debate sobre qual deles é mais rápido / eficaz.