Я уже могу перемещаться по сайту и получать все ссылки, которые мне нужны. Но моя главная цель - получить комментарии от отелей. Я использую этот сайт http://www.booking.com/hotel/pt/park-italia-flat.pt-pt.html?label=gen173nr-17CAEoggJCAlhYSDNiBW5vcmVmaLsBiAEBmAEvuAEEyAEE2AEB6AEB-AEL;sid=637e7af0c3009aa9ea132a960e2d2d40;dcid=4;ucfs=1;room1=A,A;srfid=b8260a1c264a3873291a9061733a43536a4d35c2X979#tab-reviews
Я могу получить, где с помощью jsoup нет проблем, но теперь я не знаю, как получить текст. Я уже пробовал getElementsByTag
и getText
и другие решения. Это можно сделать с помощью jsoup или мне нужна другая библиотека. Я пытаюсь таким образом получить текст. Но текст, который появляется, не то, что я хочу.Jsoup получить текст с сайта
Document doc ;
try {
doc = Jsoup.connect(pair.getValue().toString() + "#tab-reviews").get();
Elements scriptElements = doc.getElementsMatchingText("span");
for (Element link : scriptElements) {
System.out.printf(" Text: <%s> \n", link.text());
}
} catch (IOException ex) {
Logger.getLogger(GetComentsThread.class.getName()).log(Level.SEVERE, null, ex);
}
Для получения URL-адресов я использую что-то вроде этого.
Pattern pattern = Pattern.compile("src=destinationfinder");
Document doc = Jsoup.connect(url).get();
Elements links = doc.select("a[href]");
for (Element link : links) {
Matcher matcher = pattern.matcher(link.attr("abs:href"));
if (matcher.find()) {
dest = link.attr("abs:href");
break;
}
}
Теперь я могу получить некоторые отзывы, но только положительные не знаю, почему
doc = Jsoup.connect(pair.getValue().toString() + "#tab-reviews").get();
//doc = Jsoup.connect("http://www.booking.com/hotel/pt/pestanaportohotel.pt-pt.html?label=gen173nr-17CAEoggJCAlhYSDNiBW5vcmVmaLsBiAEBmAEvuAEEyAEE2AEB6AEB-AEL;sid=cff2dddd95e71c0768847a554584c888;dcid=4;dist=0;group_adults=2;room1=A%2CA;sb_price_type=total;srfid=798bd6b01ea1dba53ee6b6b945dda1f623859730X2;type=total;ucfs=1&#tab-reviews").get();
String teste="p.trackit";
Elements scriptElements = doc.select(teste);
for (Element link : scriptElements) {
//System.out.printf(" Text: <%s> ...%s\n", link.text(),link.attr("class=\"review_pos\""));
System.out.printf(" Text: <> ...%s\n",link.text());
}
Пожалуйста, улучшить этот вопрос: показать код, который вы пытались, показать, что вы получаете против того, что вы ожидаете, спросите, как конкретный вопрос, как это возможно в отношении команд JSoup , –
попробуйте использовать http://try.jsoup.org. –
@AbhijitGaikwad: круто! Я этого раньше не видел. –