2010-04-26 6 views
2

Avec Java, le code source d'une page Web est stocké dans une chaîne. Je veux extraire toutes les URL dans le code source et les sortir. Je suis horrible avec regex et autres et je n'ai aucune idée de la façon d'aborder cela. Toute aide serait grandement appréciée.Recherche de liens sur une page Web avec Java

+1

protip: ne pas analyser html avec regex. – caskey

Répondre

6

Don't use regex. Utilisez un parser comme JSoup.

String html = "your html string"; 
Document document = Jsoup.parse(html); // Can also take an URL. 
for (Element element : document.getElementsByTag("a")) { 
    System.out.println(element.attr("href")); 
} 
4

Vous pouvez utiliser HtmlUnit, puis d'extraire les liens qu'il est aussi simple que:

WebClient wc = new WebClient(); 
URL url = new URL("http://www.oogly.co.uk/"); 
HtmlPage page = (HtmlPage) wc.getPage(url); 
PrintWriter printWriter = new PrintWriter(new FileWriter(FILE_NAME)); 
List anchors = page.getAnchors(); 
Questions connexes