Не могу получить атрибут при парсинге jsoup

674
29 декабря 2016, 06:50

Добрый день.

Пишу парсинг сайта на jsoup, в результате получаю искомую строку вида

<p class="name"><a href="/level/1/book/22446/sr/1/" class="js-serp-metrika" data-url="/book/22446" data-id="22446" data-type="book">Название</a> <span class="year">2015</span></p>

Застрял на том, что не получается вытащить значение атрибутов data-type и data-url. Пробовал по всякому, выводится пустая строка. Сайт jsoup зачитал до дыр.

Пробовал так

Elements named = doc.select("p.name");
  for (Element el : named)
    System.out.println(el.select("data-url").attr("data-url"));

и так

System.out.println(el.select("data-url"));

и так

System.out.println(el.attr("data-url"));
Answer 1

У элемента p нет этих атрибутов. Эти атрибуты есть у элемента a. Вот такой код даст атрибут

Elements named = doc.select("p.name > a");
System.out.println(named.first().attr("data-id"));
READ ALSO
Сложение 2 чисел типа short в Java

Сложение 2 чисел типа short в Java

Итак, тип short - от -32768 до 32767

511
Как применить псевдокласс :hover

Как применить псевдокласс :hover

Как применить псевдокласс :hover к такому классу: headermain-header

530
Не работают медиа запросы без !important

Не работают медиа запросы без !important

Использую отдельный файл mediasass для написания медиа-запросов

777
Нюанс с column-count

Нюанс с column-count

Здравствуйте! Имеется контейнерblock, в котором размещены три блока

538