Как извлечь тексты между тегами
Я хочу извлечь тексты из HTML-страниц, которые размещены в p
и li
теги, поэтому я могу начать токенизировать страницу для создания инвертированного индекса(индексов) для каждой страницы, чтобы ответить на поисковые запросы.
как я могу получить p
теги с помощью jsoup
Elements e = doc.select("");
какая строка может быть записана в этом параметре?
3 ответов
это может сделать задание
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
вы можете найти более подробную информацию здесь и
надеюсь, что это помогло
String testText1 = d.select("body").text();
System.out.println(testText);
или
String testText2 = d.select("body p").text();
System.out.println(testText);
Вы можете использовать это для получения текста из тегов.
попробуйте это:
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);
}
}
}