Ява разбирать текст из HTML, не включая ссылки
Я пытался библиотеки jericho и jsoup. Но, к сожалению, проанализированный текст содержит ссылки. На самом деле, я пытаюсь токенизировать HTML-текст, чтобы найти ключевые слова, и эти две библиотеки генерируют много шумов, с которыми действительно трудно справиться.
public static String getPlainTextJsoup(String pageSrc) {
Document doc = Jsoup.parse(pageSrc);
return doc.body().text();
}
public static String getPlainTextExtractJericho(String htmlSrc) {
Source src = new Source(htmlSrc);
return src.getTextExtractor().setIncludeAttributes(true).toString();
}
public static String getPlainText(String html) {
Source htmlSource = new Source(html);
Segment htmlSeg = new Segment(htmlSource, 0, html.length());
Renderer htmlRend = new Renderer(htmlSeg);
// System.out.println(htmlRend.toString());
return htmlRend.toString();
}
С этой ссылкой:
http://jobview.monster.com/Sr-Java-Developer-Job-Baltimore-MD-126949729.aspx
Я получаю шумы, как: 1061349 20baltimore 2c 2f
все исходят из тегов link / src и т. д.
Как я могу предотвратить отображение этих элементов ссылки в разобранном тексте?
Спасибо
1 ответ
Как насчет настройки a
с текстом к ""
?
как это:
public static void main(final String[] args) throws IOException
{
Document document = Jsoup.connect("http://www.google.com").get();
System.out.println(document.text());
// replace the "a"s text
for (Element element: document.getElementsByTag("a"))
{
element.text("");
}
System.out.println("Without a's");
System.out.println(document.text());
}
Он напечатает:
Google Suche Bilder Maps Play YouTube News Gmail Drive Mehr » Webprotokoll | Einstellungen | Anmelden × Schneller im Internet unterwegs Installieren Sie Google Chrome Deutschland Erweiterte SucheSprachoptionen Werben mit GoogleUnternehmensangebote+GoogleÜber GoogleGoogle.com © 2013 - Datenschutzerklärung & Nutzungsbedingungen
Without a's
Google Suche | | × Schneller im Internet unterwegs Deutschland © 2013 -