Encontrando e apresentando hyperlinks existentes em uma página Web
Veja nesta dica como extrair os links existentes em um arquivo HTML.
Encontrando e apresentando hyperlinks existentes em uma página Web
O código apresentado abaixo utiliza expressões regulares para encontrar e apresentar os hyperlinks existentes em uma página Web. Depois de compilar este código, você deve salvar a página web na mesma pasta que contém o arquivo. ShowLinks.class.
import java.io.*;<B><SPAN >import </SPAN></B><SPAN >java.util.regex.*;</SPAN><B><SPAN >public class </SPAN></B><SPAN >ShowLinks {</SPAN><B><SPAN >public static void </SPAN></B><SPAN >main(String[] arguments) {</SPAN><B><SPAN >if </SPAN></B><SPAN >(arguments.length < </SPAN><SPAN >1</SPAN><SPAN >) {</SPAN><SPAN >System.out.println(</SPAN><SPAN >"java ShowLinks [page]"</SPAN><SPAN >);</SPAN><SPAN >System.exit(</SPAN><SPAN >0</SPAN><SPAN >);</SPAN><SPAN >}</SPAN><SPAN >String page = loadPage(arguments[</SPAN><SPAN >0</SPAN><SPAN >]);</SPAN><SPAN >Pattern pattern = Pattern.compile(</SPAN><SPAN >"<a.+href=\"(.+?)\""</SPAN><SPAN >);</SPAN><SPAN >Matcher matcher = pattern.matcher(page);</SPAN><B><SPAN >while </SPAN></B><SPAN >(matcher.find()) {</SPAN><SPAN >System.out.println( matcher.group(</SPAN><SPAN >1</SPAN><SPAN >));</SPAN><SPAN >}</SPAN><SPAN >}</SPAN><B><SPAN >private static </SPAN></B><SPAN >String loadPage(String name) {</SPAN><SPAN >StringBuffer output = </SPAN><B><SPAN >new </SPAN></B><SPAN >StringBuffer();</SPAN><B><SPAN >try </SPAN></B><SPAN >{</SPAN><SPAN >FileReader file = </SPAN><B><SPAN >new </SPAN></B><SPAN >FileReader(name);</SPAN><SPAN >BufferedReader buff = </SPAN><B><SPAN >new </SPAN></B><SPAN >BufferedReader(file);</SPAN><B><SPAN >boolean </SPAN></B><SPAN >eof = </SPAN><B><SPAN >false</SPAN></B><SPAN >;</SPAN><B><SPAN >while </SPAN></B><SPAN >(!eof) {</SPAN><SPAN >String line = buff.readLine();</SPAN><B><SPAN >if </SPAN></B><SPAN >(line == </SPAN><B><SPAN >null</SPAN></B><SPAN >)</SPAN><SPAN >eof = </SPAN><B><SPAN >true</SPAN></B><SPAN >;</SPAN><B><SPAN >else</SPAN></B><SPAN >output.append(line + </SPAN><SPAN >"\n"</SPAN><SPAN >);</SPAN><SPAN >}</SPAN><SPAN >buff.close();</SPAN><SPAN >} </SPAN><B><SPAN >catch </SPAN></B><SPAN >(IOException e) {</SPAN><SPAN >System.out.println(</SPAN><SPAN >"Erro -- " </SPAN><SPAN >+ e.toString());</SPAN><SPAN >}</SPAN><B><SPAN >return </SPAN></B><SPAN >output.toString();</SPAN><SPAN >}</SPAN><SPAN >}</SPAN>
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo