Я проверил @Eritrean ответ, но я думаю, что мой подход ближе, чтобы получить именно то, что вы ищете, более ясным способом!Вот пример кода, чтобы сделать именно то, что вы хотите, используя JSOUP :
public class Main {
public static void main(String[] args) {
try {
String url = "https://southwesthumane.org/adopt/dogs/dog-details/?id=84807";
Document document = Jsoup.connect(url).userAgent("Mozilla/5.0").get();
Elements elements = document.select("div.AnimalDetails > strong");
for (Element element : elements) {
System.out.println(element.text() + element.nextSibling().toString());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Как видите, для установления соединения с нужным URL вам просто нужно выбрать всесильные теги HTML, содержащиеся внутри тега div HTML с именем класса AnimalDetails .
Как только вы это сделаете, вы получите объект Elements из JSOUP, и вам нужно зациклить его, используя цикл FOR EACH.В котором вы собираетесь получить все элементы, содержащие сильный HTML-тег.
Теперь вам нужно извлечь текст, содержащийся между этими тегами, с помощью селектора .text () из JSOUP, и, поскольку HTML-код структурирован, вам нужно получить следующееэлемент, это значение, которое вы ищете.
Поскольку структура HTML AnimalDetails div выглядит следующим образом:
<br>
<strong>Code Number: </strong>107796
<br>
<strong>Date Available: </strong>11/20/2018
<br>
...
and so on
Теперь вам нужно получитьродственный элемент сильного тега HTML с помощью селектора .nextSibling () из JSOUP и преобразование его в строку с помощью метода .toString () .Это, как вы можете видеть, возвращает значение, которое вы ищете.Затем вам просто нужно распечатать его как желаемый вывод, как описано в новом цикле FOR EACH.
Ваш желаемый вывод будет выглядеть следующим образом:
Надеюсь, это помогло вам!Для получения дополнительной информации не стесняйтесь спрашивать меня!