Ceci est le code que j'utilisé pour accomplir exactement ce que vous J'aimerais faire, mais laissez-moi d'abord vous donner quelques conseils.
Si vous êtes dans un environnement Java Swing, veillez à utiliser les méthodes des packages javax.swing.text.html et javax.swing.text.html.parser. Malheureusement, ils sont principalement destinés à être utilisés sur un JEditorPane, mais je vous recommande fortement d'y jeter un coup d'œil.
Il existe une classe dans l'API Java 6 appelée HTML.Tag qui identifie les balises de début et de fin HTML, que vous pouvez ensuite utiliser pour déterminer les liens que vous souhaitez que votre programme suive. http://java.sun.com/javase/6/docs/api/javax/swing/text/html/HTML.Tag.html
Quand j'ai écrit un programme très similaire à cela, j'ai utilisé 3 méthodes principales:
public void handleStartTag(HTML.Tag t, MUtableAttributeSet atts, int pos)
public void handleEndTag(HTML.Tag t, int pos)
public void handleText(char[] text, int pos)
Si vous avez besoin de plus d'aide sur la façon d'écrire ces méthodes, vous pouvez me message, mais au fond, vous êtes Vous recherchez une balise initiale et une balise de fin, puis à partir de ce que vous aurez identifié l'URL, puis vous pouvez passer à l'étape suivante, qui suit l'URL.
Pour suivre l'URL, je vous conseille d'utiliser l'objet JEditorPane. Le javax.swing.event.L'interface HyperlinkListener ne définit qu'une seule méthode, hyperlinkUpdate (HyperlinkEvent e), dans laquelle vous pouvez passer l'URL, puis appeler .setPage (evt.getURL()) sur votre objet JEditorPane. Cela mettra à jour le volet avec la nouvelle page et vous permettra de redémarrer le processus.
Envoyez-moi un message si vous avez des questions et votez pour cette réponse!
Je dois le faire en utilisant du code Java. –
http://www.benmccann.com/dev-blog/java-html-parsing-library-comparison/ – trunkc