Предисловие
Что нужно сказать заранее, так это то, что из -за особого характера сегодняшних статей Toutiao невозможно напрямую получить адрес статьи. Вам необходимо получить идентификатор статьи, а затем разбить его в URL перед доступом. Я не скажу многое ниже, просто загрузите код.
Пример кода выглядит следующим образом
открытый класс demo2 {public static void main (string [] args) {// Список статей для веб -страниц, которые должны быть ползали string url = "http://www.toutiao.com/news_finance/"; // Префикс страницы сведений о статье (поскольку сегодняшние заголовки находятся в каталоге группы, определяется префикс, а HTML -страница, полученная через запрос) String url2 = "http://www.toutiao.com/group/"; // ссылка на этот сайт Connection Connection = jsoup.connect (url); Содержание документа = null; try {// получить контент содержимого = connection.get (); } catch (ioException e) {e.printstackTrace (); } // конвертировать в строку string htmlstr = content.html (); // Поскольку статьи в сегодняшних заголовках довольно странные, все они определяются как переменные через JS, поэтому вы не можете получить значение, получив строку элемента DOM jsonstr = stringUtils.substringweed (htmlstr, "var _data =", ";"); System.out.println (jsonstr); Map parse = (map) jsonobject.parse (jsonstr); Jsonarray parsearray = (jsonarray) parse.get ("Real_time_news"); Карта карта = null; Список <Map> maps = new ArrayList <> (); // Трансф -jsonArray, получить каждый объект JSON, а затем преобразовать его в объект карты (в данном случае требуется только Group_ID, поэтому нет необходимости использовать карту) для (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")); } // Трансф коллекции карт, полученная ранее, а затем посетите данные о статье отдельно для (MAP MAP2: MAPS) {Connection = jSoup.connect (url2+map2.get ("Group_id")); try {document document = connection.get (); // Получить заголовок элементов статьи title = document.select ("[class = article-title]"); System.out.println (title.html ()); // Получить источник статьи и время выпуска статьи Elements articleInfo = document.select ("[class = articleInfo]"); Элементы src = articleInfo.select ("[class = src]"); System.out.println (src.html ()); Elements Time = articleInfo.select ("[class = time]"); System.out.println (time.html ()); // Получить содержимые статьи contentele = document.select ("[[class = article-content]"); System.out.println (contentele.html ()); } catch (ioException e) {e.printstackTrace (); }}}}Суммировать
Вышеуказанное - все содержание этой статьи. Я надеюсь, что содержание этой статьи поможет вашему обучению или работе. Если у вас есть какие -либо вопросы, вы можете оставить сообщение для общения.