Prefácio
O que precisa ser dito com antecedência é que, devido à natureza especial dos artigos de Toutiao de hoje, é impossível obter diretamente o endereço do artigo. Você precisa obter o ID do artigo e, em seguida, secá -lo em um URL antes de acessar. Não vou dizer muito abaixo, basta fazer o upload do código.
O código de amostra é o seguinte
classe pública Demo2 {public static void main (string [] args) {// Lista de artigos para páginas da web que precisam ser rastreadas de string url = "http://www.toutiao.com/news_finance/"; // Prefixo da página Detalhes do artigo (Como as manchetes de hoje estão no diretório do grupo, o prefixo é definido e a página HTML obtida através da solicitação) String url2 = "http://www.toutiao.com/group/"; // link para este site conexão de conexão = jsoup.connect (url); Conteúdo do documento = nulo; tente {// obtenha conteúdo de conteúdo = conexão.get (); } catch (ioexception e) {e.printStackTrace (); } // converte em string string htmlstr = content.html (); // Como os artigos nas manchetes de hoje são bastante estranhos, todos são definidos como variáveis através do JS, para que você não possa obter o valor obtendo o elemento Dom elemento String 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 <Pap> maps = new ArrayList <> (); // Transf o JsonArray, obtenha cada objeto JSON e depois converta -o em um objeto de mapa (neste caso, apenas um grupo_id é necessário; portanto, não há necessidade de usar o mapa) para (int i = 0; i <parsearray.size (); i ++) {map = (map) parsearray.get (i); maps.add (((mapa) parsearray.get (i)); System.out.println (map.get ("group_id")); } // Transf A coleção de mapas obtida antes e visite estes detalhes detalha as páginas separadamente para (mapa map2: maps) {conexão = jsoup.connect (url2+map2.get ("group_id")); tente {document document = Connection.get (); // Obtenha o título do artigo Elements Title = Document.Select ("[Class = Artigo-Title]"); System.out.println (title.html ()); // Obtenha a fonte do artigo e o tempo de lançamento do artigo Elements ArticleInfo = Document.Select ("[Class = ArtigoInfo]"); Elementos src = artigoInfo.Select ("[class = src]"); System.out.println (src.html ()); Elementos time = articleInfo.Select ("[class = time]"); System.out.println (time.html ()); // obtenha o artigo contentElements contentEle = document.select ("[class = artigo-content]"); System.out.println (contentEle.html ()); } catch (ioexception e) {e.printStackTrace (); }}}}Resumir
O acima é o conteúdo inteiro deste artigo. Espero que o conteúdo deste artigo seja de ajuda para o seu estudo ou trabalho. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar.