Qual pastor html é o melhor? [fechado
-
24-09-2019 - |
Pergunta
Eu codio muitos analisadores. Até agora, eu estava usando o navegador sem cabeça HTMLUnit para analisar e automação do navegador.
Agora, quero separar as duas tarefas.
Como 80% do meu trabalho envolve apenas analisar, quero usar um analisador HTML leve, porque leva muito tempo no htmlunit para primeiro carregar uma página, depois obter a fonte e depois analisá -la.
Eu quero saber qual analisador HTML é o melhor. O analisador seria melhor se estivesse próximo do analisador htmlunit.
EDITAR:
Por melhor, quero pelo menos os seguintes recursos:
- Velocidade
- Facilitar para localizar qualquer htmlelement por seu "id" ou "nome" ou "tipo de tag".
Seria bom para mim se não limpar o código HTML sujo. Não preciso limpar nenhuma fonte HTML. Eu só preciso de uma maneira mais fácil de passar por HTMLELEMENTS e colher dados deles.
Solução
Auto -plug: Acabei de lançar um novo analisador Java HTML: JSUP. Eu mencionei aqui porque acho que fará o que você procura.
Seu truque de festa é uma sintaxe de seletor CSS para encontrar elementos, por exemplo:
String html = "<html><head><title>First parse</title></head>"
+ "<body><p>Parsed HTML into a doc.</p></body></html>";
Document doc = Jsoup.parse(html);
Elements links = doc.select("a");
Element head = doc.select("head").first();
Veja o Seletor javadoc para mais informações.
Este é um novo projeto, portanto, quaisquer idéias para melhorias são muito bem -vindas!
Outras dicas
O melhor que eu já vi até agora é Htmlcleaner:
Htmlcleaner é um analisador html de código aberto escrito em Java. O HTML encontrado na Web geralmente é sujo, mal formado e inadequado para processamento adicional. Para qualquer consumo sério de tais documentos, é necessário primeiro limpar a bagunça e trazer o pedido para tags, atributos e texto comum. Para o documento HTML fornecido, o HTMLCLEANER reordoma elementos individuais e produz XML bem formado. Por padrão, segue regras semelhantes que a maioria dos navegadores da Web usa para criar o modelo de objeto de documento. No entanto, o usuário pode fornecer tags e regras personalizados para filtragem e balanceamento de tags.
Com o htmlcleaner, você pode localizar qualquer elemento usando o XPath.
Para outros analisadores HTML, veja isso é tão pergunta.
Eu sugiro Validator.nu's Parser, com base no algoritmo de análise HTML5. É o analisador usado em Mozilla de 2010-05-03