Prefacio
Lo que debe decir con anticipación es que debido a la naturaleza especial de los artículos de Toutiao de hoy, es imposible obtener directamente la dirección del artículo. Debe obtener la ID del artículo y luego empalmarla en una URL antes de acceder. No diré mucho a continuación, solo sube el código.
El código de muestra es el siguiente
public class Demo2 {public static void main (string [] args) {// Lista de artículos para páginas web que deben arrastrarse la cadena url = "http://www.toutiao.com/news_finance/"; // Prefijo de la página Detalles del artículo (dado que los titulares de hoy están todos en el directorio de grupo, se define el prefijo y la página HTML obtenida a través de la solicitud) cadena url2 = "http://www.toutiao.com/group/"; // Enlace a este sitio web Connection Connection = JSoup.Connect (URL); Documento contenido = nulo; Pruebe {// Get Content Content = Connection.get (); } catch (ioException e) {E.PrintStackTrace (); } // Convertir en cadena String htmlstr = content.html (); // Debido a que los artículos en los titulares de hoy son bastante extraños, todos se definen como variables a través de JS, por lo que no puede obtener el valor al obtener la cadena del elemento DOM jsonstr = StringUtils.substringbetween (htmlstr, "var _data =", ";"); System.out.println (JSonstr); Mapa parse = (map) jsonObject.Parse (JSonstr); JSONArray Parsearray = (JSONArray) parse.get ("real_time_news"); Mapa mapa = nulo; List <s map> maps = new ArrayList <> (); // Transfiera el JSONArray, obtenga cada objeto JSON y luego conviértalo en un objeto de mapa (en este caso, solo se necesita un grupo_id, por lo que no es necesario usar MAP) para (int i = 0; i <parsearray.size (); i ++) {map = (map) parsearray.get (i); maps.add ((map) parsearray.get (i)); System.out.println (map.get ("group_id")); } // Transfiar la colección de mapas obtenida antes, y luego visite estas páginas de detalles del artículo por separado para (MAP MAP2: MAPS) {Connection = JSoup.Connect (url2+map2.get ("group_id")); intente {documento documento = conexión.get (); // Obtener el título del título de Elementos del artículo = document.select ("[class = Artículo-tito]"); System.out.println (title.html ()); // Obtenga la fuente del artículo y el tiempo de lanzamiento del artículo Elements Artículoinfo = document.select ("[class = Artículoinfo]"); Elementos src = artículoinfo.select ("[class = src]"); System.out.println (src.html ()); Elements Time = artículoinfo.select ("[class = time]"); System.out.println (Time.html ()); // Obtener un artículo ContentElements Contentele = document.select ("[class = Artículo-contenido]"); System.out.println (contentele.html ()); } catch (ioException e) {E.PrintStackTrace (); }}}}Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo sea de ayuda para su estudio o trabajo. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse.