Как извлечь тексты между тегами <p> используя jsoup
Я хочу извлечь тексты из html-страниц, помещенных в теги p и li, поэтому я могу начать токенизировать страницу для создания инвертированных индексов (индексов) для каждой страницы, чтобы удовлетворить запросы поиска. Как я могу получить p-теги с помощью jsoup
Elements e=doc.select("");
Что может быть строкой, которая должна быть записана в этом параметре.?Thanks
Ответы
Ответ 1
Это может выполнить задание
Elements e=doc.select("p");
Вот список всех селекторов, которые вы можете использовать.
Предположим, что у вас есть этот html:
String html="<p>some <strong>bold</strong> text</p>";
Чтобы получить some bold text
, вы должны использовать:
Document doc = Jsoup.parse(html);
Element p= doc.select("p").first();
String text = doc.body().text(); //some bold text
или
String text = p.text(); //some bold text
Предположим, что у вас есть следующий сложный html
String html="<div id=someid><p>some text</p><span>some other text</span><p> another p tag</p></div>"
Чтобы получить значения из двух тегов p
, вам нужно сделать что-то вроде этого
Document doc = Jsoup.parse(html);
Element content = doc.getElementById("someid");
Elements p= content.getElementsByTag("p");
String pConcatenated="";
for (Element x: p) {
pConcatenated+= x.text();
}
System.out.println(pConcatenated);//sometext another p tag
Вы можете найти более подробную информацию здесь и
Надеюсь, что это помогло
Ответ 2
String testText1 = d.select("body").text();
System.out.println(testText);
или
String testText2 = d.select("body p").text();
System.out.println(testText);
Вы можете использовать это для получения текста из тегов.
Ответ 3
Попробуйте следующее:
File input = new File("/home/s5/Downloads/PDFCopy/PDs.html");
Document doc = Jsoup.parse(input, "UTF-8","http://www.cisco.com/c/en/us/products/collateral/wireless/aironet-1815-series-access-points/datasheet-c78-738481.pdf");
Elements link = doc.select("p");
String linkText = link.text();
//System.out.println(linkText);
String[] words=linkText.split("\\W");
for(String str:words)
{
System.out.println(str);
}
}
}