2010-01-06 5 views
1

Quelle est la méthode préférée pour extraire des éléments d'une page HTML en Java?meilleur moyen d'extraire des éléments d'une page html?

Mon HTML est a plusieurs des lignes suivantes:

<tr class="item-odd"> 
     <td class="data"><a href="http://.....">TITLE</a></td> 
     <td><div class="cost">$1.99</div></td> 
</tr> 

alterne classe item-odd et item-even.

J'ai besoin d'extraire:

  1. Url
  2. Titre
  3. prix

Les expressions régulières sont-elles le chemin à parcourir?

+1

Non, pas regex. http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 –

+1

Selon votre page d'activité utilisateur, vous avez posé pas moins de 24 questions dans les dernières 24 heures. Avez-vous déjà pensé à peut-être répondre à une question de temps en temps juste pour des coups de pied? –

+0

oui j'y ai pensé. – mrblah

Répondre

6

Je voudrais utiliser une bibliothèque comme HTML Parser pour ce travail. Jetez un oeil à la samples et/ou la javadoc. Jetez également un oeil à previous questions ici sur SO.

HTML Parser est assez facile à utiliser et devrait faire le travail. Pour des alternatives, jetez un oeil à ce previous answer.

+0

est-il différent que HtmlUnit? semble similaire. – mrblah

+0

HtmlUnit est un outil de test. HTML Parser est ... un analyseur. Alors oui, ils sont différents. –

+0

vrai, mais HtmlUnit a des méthodes de type parser, mais je comprends votre point! – mrblah

3

JTidy fait un excellent travail d'analyse HTML et le rend disponible pour la manipulation en tant que DOM. Les expressions régulières sont généralement pas le chemin à parcourir, car HTML n'est pas régulier et possède de nombreux cas de bords pour vous trébucher.

+0

homme avec Java, vous avez tellement d'options, c'est fou! – mrblah

Questions connexes