Páginas

4 de abril de 2011

Parser HTML com Java

Fazer parser HTML é uma tarefa extramamente complicada, visto que HTML não é uma linguagem regular, e por isso o uso de expressões regulares em HTML é, na maioria das vezes, inconsistente.

Para facilitar a manipulação de páginas HTML, o time do Apache Maven desenvolveu a biblioteca HTML Parser.

Esta biblioteca visa a simplicidade e performance em manipular HTML. Basicamente trabalha na extração de objetos DOM, que são armazenados em árvores, permitindo assim uma fácil manipulação.
Encapsulei a tarefa de navegar entre todos os nós da árvore de forma recursiva, permitindo assim a manipulação de uma página HTML completa sem expressão regular:
String marcaCarro = MyHtmlParser.getContent(resourceHtml, "div class\"carroStyle\"");
Se existir mais de um elemento com o mesmo atributo na página, basta informar qual a posição passando um terceiro argumento:
String marcaCarro2 = MyHtmlParser.getContent(resourceHtml, "div class\"carroStyle\"", 2);
Subi este projeto no meu Github, livre a todos que quiserem ajudar a melhorá-lo.

Nenhum comentário: