El programa de ejemplo: Obtener todos los enlaces

Este ejemplo muestra cómo los programas para obtener una página de un URL. A continuación, extrae todos los enlaces, imágenes y otra página de contenido auxiliar. Y comprobar las direcciones URL y la información de texto.

Ejecutar las siguientes necesidades del programa para especificar las direcciones URL como un parámetro

empaquetar org.jsoup.examples; 

importación org.jsoup.Jsoup;
importación org.jsoup.helper.Validate;
importación org.jsoup.nodes.Document;
importación org.jsoup.nodes.Element;
importación org.jsoup.select.Elements; 

importación java.io.IOException; 

/ ** 
 * Programa de ejemplo a los enlaces de la lista de una URL. 
 * / 
Público  de clase ListLinks {
     públicas  estáticas  vacíos principales (args String []) lanza IOException { 
        Validate.isTrue (args.length == 1 "el uso de: url suministro a buscar" ); 
        String url = args [0]; 
        imprimir ( "Obtención% s ..." , url); 

        Documento doc = Jsoup.connect (url) .get (); 
        Elementos de unión = doc.select ( "A [href]" ); 
        Elementos de medios = doc.select ( "[src]" ); 
        Elementos importaciones = doc.select ( "link href []" ); 

        imprimir ( "\ Nmedia: (% d)" , Media.Size ());
        para (Elemento src: medios de comunicación) {
             si (. src.tagName () igual ( "img" )) 
                print ( "*% s: <% s>% sx% s (% s)" , 
                        src.tagName (), src."ABS: src"), src.attr ( "ancho"), src.attr ( "altura" ), 
                        guarnecido (src.attr ( "alt"), 20 ));
            otro 
                de impresión ( "*% s: <% s>", src.tagName (), src.attr ( "ABS: src" )); 
        } 

        Impresión ( "\ nImports: (% d)" , imports.size ());
        para (enlace Elemento: importaciones) { 
            print ( "*% s <% s> (% s)", link.tagName (), link.attr ( "ABS: href"), link.attr ( "rel" )) ; 
        } 

        Impresión ( "\ nLinks: (% d)" , links.size ());
        "* A: <% s> (% s)", link.attr ( "ABS: href"), el asiento (link.text (), 35 )); 
        } 
    } 

    Privada  estática  vacío de impresión (String msg, objeto ... args) { 
        System.out.println (String.Format (msg, args)); 
    } 

    Privada  estática ajuste de cuerdas (String s, int ancho) {
         si (s.length ()> anchura)
             de retorno s.substring (0, ancho-1) + "" ;
        otra 
            vuelta s; 
    } 
}

Ejemplo Resultados de entrada

Obtención http: //news.ycombinator.com / ... 

Medios: ( 38 ) 
 * img: <http://ycombinator.com/images/y18.gif> 18x18 () 
 * img: <http: // YCombinator. com / images / s.gif> 10x1 () 
 * img: <http://ycombinator.com/images/grayarrow.gif> x () 
 * img: <http://ycombinator.com/images/s.gif> 0x10 () 
 * script: <http://www.co2stats.com/propres.php?s = 1138 > 
 * img: <http://ycombinator.com/images/s.gif> 15x1 () 
 * img: < http://ycombinator.com/images/hnsearch.png> x () 
 * img: <http://ycombinator.com/images/s.gif> 25x1 () 
 * img: <http://mixpanel.com/ site_media / images / mixpanel_partner_logo_borderless.gif> x (. Analytics por Mixpan) 
 
Importaciones:( 2 )
 * Enlace <http://ycombinator.com/news.css> (hoja de estilo) 
 * enlace <http://ycombinator.com/favicon.ico> (icono de acceso directo) 
 
Enlaces: ( 141 ) 
 * a: <http: // ycombinator.com> () 
 * a: <http://news.ycombinator.com/news> (Hacker News) 
 * a: <http://news.ycombinator.com/newest> (nuevo) 
 * a: <http //news.ycombinator.com/newcomments:> (comentarios) 
 * a: <http://news.ycombinator.com/leaders> (líderes) 
 * a: <http://news.ycombinator.com/jobs> ( puestos de trabajo) 
 * a: <http://news.ycombinator.com/submit> (enviar) 
 * a: <http://news.ycombinator.com/x?fnid = JKhQjfU7gW> (login) 
 * a: <http: //news.ycombinator.com/vote?for = 1094578 ydir = up & donde =% 6e% 65% 77% 73> () 
 * A: <http://www.readwriteweb.com/archives/facebook_gets_faster_debuts_homegrown_php_compiler.php?utm_source = feedburner y utm_medium = feed & = utm_campaign alimente% 3A + readwriteweb +% 28ReadWriteWeb% 29 y utm_content = Twitter> (Facebook acelera PHP) 
 * a: <http://news.ycombinator.com/user?id = mcxx> (mcxx) 
 * a: <http://news.ycombinator.com/item?id = 1094578> (9 comentarios) 
 * a: <http: //news.ycombinator.com/vote?for = 1094649 y dir = up & donde =% 6e% 65% 77% 73 > () 
 * a: <http://groups.google.com/group/django-developers/msg/a65fbbc8effcd914 > ( "Tough Django produce XHTML." ) 
 * a: <http: //news.ycombinator.com / user? id =andybak> (andybak) 
 * a: <http://news.ycombinator.com/item?id = 1094649> (3 comentarios) 
 * a: <http://news.ycombinator.com/vote?for = 1093927 y dir = arriba y dónde =% 6e% 65% 77% 73 > () 
 * a: <http://news.ycombinator.com/x?fnid = p2sdPLE7Ce> (Más) 
 * a: <http://news.ycombinator.com/lists > (Listas) 
 * a: <http://news.ycombinator.com/rss> (RSS) 
 * a: <http://ycombinator.com/bookmarklet.html> (bookmarklet) 
 * a: <http: // ycombinator.com/newsguidelines.html> (Directrices) 
 * a: <http://ycombinator.com/newsfaq.html> (FAQ) 
 * a: <http://ycombinator.com/newsnews.html> (noticias) 
 * R: <http: //news.ycombinator.com / artículo? id = 363> (Pedido de funciones) 
 * a: <http://ycombinator.com> (Y Combinator) 
 * a: <http://ycombinator.com/w2010.html> (Aplicar) 
 * a: <http: // YCombinator. com / lib.html> (Biblioteca) 
 * a: <http://www.webmynd.com/html/hackernews.html> () 
 * a: <http://mixpanel.com/?from = YC> ()

 

Supongo que te gusta

Origin www.cnblogs.com/deityjian/p/12541647.html
Recomendado
Clasificación