jsoup извлекает текст из div только с классом - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь получить текст "Casual Dining" со страницы

https://www.opentable.com//r/romanos-macaroni-grill-fort-collins?avt=eyJ2IjoxLCJtIjoxLCJwIjowLCJjIjowfQ&corrId=2b2727e6-ad4c-4958-90a6-b9f55623ab1c

Я использую:

Document mainPage = Jsoup.connect(addTo.getUrl()).userAgent("Mozilla").get();
    Elements content = mainPage.select("div._16c8fd5e._1f1541e1");  
                Element link = content.first();
                String out = link.text();

Хотя этоне выдает ошибку, не выдает и текст, который я хочу.

Я делаю это для нескольких похожих веб-страниц автоматически, так что пока класс один и тот же, я могу получитьтип текста ресторана для каждой веб-страницы.

Как именно я могу сузить фокус того, что я собираю, до этого текста, когда у меня есть только класс для продолжения?

1 Ответ

0 голосов
/ 05 декабря 2018

есть несколько div, которые имеют ._16c8fd5e ._1f1541e1 классы в этой сети, затем вы выбираете все эти div с вашим выбором, а не только один.Вместо этого вы можете искать по текстовому содержимому, как это

String text = mainPage.select("span:contains(Dining Style)")
                   .parents().get(0).siblingElements().get(0)
                   .selectFirst("div").text();
System.out.println(text);
...