¿Cómo utilizar la herramienta de código abierto de Java httpclient?
jsoup:/rili. htm
Primero, definimos un almanaque de clase de entidad para almacenar datos del almanaque.
Almanaque.java? 1?Paquete? com .likx .recolector de frijol . 2
3?/**?四
*?Clase de entidad de herramienta Calendario. Cinco
*
Seis
*?@Autor? ¿Se remonta a los blogs? Siete
*?11 de abril de 2016? Ocho
*/?9?Público? ¿clase? ¿Almanaque? {10
¿Privado? ¿Cadena? Energía solar;
/*?¿Calendario gregoriano? ¿Por ejemplo 2016? 11 de abril? ¿Lunes? */11
¿Privado? ¿Cadena? Taiyin;
/*?¿Calendario lunar? ¿Por ejemplo? ¿Año del Mono? 5*/12 de marzo
¿Privado? ¿Cadena? ChineseAra
/*?¿La cronología de los tallos celestiales y las ramas terrenales? Por ejemplo, ¿Shen Bingnian? ¿estricto? . Día Guihai*/13
¿Privado? ¿Cadena? ¿Debería;
/*?Apropiado, por ejemplo? ¿Mendigando niños? ¿bendecir? ¿Encender la luz? ¿sacrificio? Antron*/14
¿Privado? ¿Cadena? Evitar;
/*?¿Evitar? ¿Por ejemplo? Yutang (Eclíptica) El sol es peligroso, está prohibido viajar*/15?16
¿Público? ¿Cadena? obtenerSolar()? {17
¿Volver? Energía solar; 18
}19?20
¿Pública? ¿Vacío? setSolar(Cadena?Fecha)? {21
¿Esta energía solar? =?Fecha; 22
}23?24
¿Público? ¿Cadena? obtenerLunar()? {25
¿Volver? Taiyin; 26
}27?28
¿Público? ¿Vacío? setLunar(¿Cadena? Taiyin)? {29
Esto. ¿Luna? =? Taiyin; 30
}31?32
¿Público? ¿Cadena? obtenerChineseAra()? {33
¿Volver? chinoAra34
}35?36
¿Público? ¿Vacío? setChineseAra(¿Cadena? ChineseAra)? {37
Esto. chinoAra? =?chineseAra38
}39?40
¿Público? ¿Cadena? obtenerEvitar()? {41
¿Volver? Evitar; cuarenta y dos
}43? ¿Vacío? establecer evitar (¿Cadena? evitar)? {45
Esto. ¿evitar? =?Evitar;46
}47?48
¿Público? ¿Cadena? obtenerDebería()? {49
¿Volver? ¿Debería; 50
}51? ¿Cincuenta y dos
Público? ¿Vacío? ¿establecer debería (cadena? debería)? {53
Esto. ¿debería? =?Debería;54
}55?Cincuenta y seis años
¿Público? ¿Almanaque (¿Cadena? ¿Solar? ¿Cadena? ¿Lunar? ¿Cadena? ¿Ara china? ¿Cadena? ¿Debería, 57
Cadena? ¿Evitar)? {58
¿Esta energía solar? =?Energía solar; 59
Esto. ¿Luna? =? Taiyin; 60
Esto. chinoAra? =?chineseAra61
Esto. ¿debería? =?Debería;62
Esto. ¿evitar? =?Evitar; 63
}64?}
Luego, tome el programa principal analizado, descargue el paquete jar requerido del sitio web oficial y luego escriba el programa.
¿Paquete AlmanacUtil.java? com .likx .selector util; ¿Excepción de Java io. ¿Texto Java? ¿Formato de fecha simple? java.util .calendar;¿importar? fecha de utilidad de Java; org.apache./rili. htm";
String?html = seleccionar datos(URL);
Almanaque?almanac = analizarHTMLByString(html);
¿Devolver? almanaque;
p>
}
/*
*?Rastreando información web
*/
¿Cadena privada? ? pickData ( ? url ) ? main(String? args[]){
almanac = almanacutil.getalmanac();
System.out.println("Tiempo gregoriano:" +almanac.getsolar ());
System.out.println ("Hora lunar: "+almanac. get Lunar());
System.out.println ("Celestial tallos y ramas terrestres: "+ almanac.getchinesera();
system.out.println("Yi:"+almanac.getshould());
system.out.println ("bogey:"+ almanac. geta void());
}}
Los resultados de ejecución son los siguientes:
El efecto de la integración en la realidad Los proyectos son los siguientes:
Además, el blog no se ha actualizado recientemente porque recientemente dejé la industria de la subcontratación y me fui a Japón a trabajar en una empresa de Internet debido a la atmósfera técnica. Mi sentimiento reciente es que la competitividad central de los programadores no es cuántos marcos han aprendido, cuántas herramientas dominan (por supuesto, estas también son indispensables para los programadores), sino una base sólida y la capacidad de aprender rápidamente. Por ejemplo, en el proyecto de hoy, desde no saber nada sobre las herramientas httpClient y jsoup hasta escribir el código de demostración, me tomó alrededor de 10 minutos 65,438 + 0 horas, lo que antes era inimaginable. Rápidamente adquirí habilidades en un lugar con una gran capacidad. atmósfera técnica.
Por supuesto, este ejemplo es solo un ejemplo muy simple. El contenido de la página web es fácil de rastrear, lo que no se refleja en las partes más potentes de las herramientas httpClient y jsoup. Por ejemplo, httpClient no solo puede enviar solicitudes de obtención, sino también enviar solicitudes de publicación, enviar formularios y transferir archivos. Por ejemplo, la parte más poderosa de jsoup es que admite selectores similares a jquery. Este ejemplo utiliza solo el elemento coincidente más simple usando document.getElementById(). De hecho, los selectores de jsoup son muy poderosos. Se puede decir que es la versión java de jquery, como esta:? ¿elemento? ¿Enlace? =?doc .select("a[href]");? //?¿respuesta? ¿Qué usar? ¿Elementos href? pngs? =?doc .select("img[src$=.png]");
//?img? ¿Qué usar? src? ¿final? . pngElemento? ¿Tope? =?doc.select("div.mashead").
primero();
//?div? ¿Qué usar? clase = elementos de cabecera? ¿Enlace de resultados? =?doc.select("H3.r?>?a");? //?¿directo? ¿respuesta? ¿después? h3