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> ()