Je code beaucoup d'analyseurs. Jusqu'à présent, j'utilisais le navigateur sans tête HtmlUnit pour l'analyse et l'automatisation du navigateur.
Maintenant, je veux séparer les deux tâches.
Comme 80% de mon travail implique uniquement l'analyse, je veux utiliser un analyseur HTML léger car il faut beaucoup de temps dans HtmlUnit pour charger d'abord une page, puis obtenir la source et ensuite l'analyser.
Je veux savoir quel analyseur HTML est le meilleur. L'analyseur serait mieux s'il est proche de l'analyseur HtmlUnit.
ÉDITER:
Au mieux, je veux au moins les fonctionnalités suivantes:
- La vitesse
- Facilité pour localiser n'importe quel HtmlElement par son "id" ou "nom" ou "type de balise".
Ce serait bien pour moi s'il ne nettoie pas le code HTML sale. Je n'ai pas besoin de nettoyer de source HTML. J'ai juste besoin d'un moyen le plus simple pour parcourir les HtmlElements et en récolter les données.
la source
Réponses:
Self plug: je viens de sortir un nouvel analyseur HTML Java: jsoup . Je le mentionne ici parce que je pense qu'il fera ce que vous recherchez.
Son astuce de fête est une syntaxe de sélecteur CSS pour trouver des éléments, par exemple:
Voir le javadoc du sélecteur pour plus d'informations.
Il s'agit d'un nouveau projet, toutes les idées d'amélioration sont donc les bienvenues!
la source
Le meilleur que j'ai vu jusqu'à présent est HtmlCleaner :
Avec HtmlCleaner, vous pouvez localiser n'importe quel élément à l'aide de XPath.
Pour les autres analyseurs html, voir cette question SO .
la source
Similar rules that the most of web browsers use
- Ce n'est pas très convaincantJe suggère l'analyseur de Validator.nu , basé sur l'algorithme d'analyse HTML5. C'est l'analyseur utilisé dans Mozilla du 03/05/2010
la source