我知道,如果我想使用Jsoup打印链接和链接文本,则必须使用以下代码:
Document doc = Jsoup.connect("https://en.wikipedia.org/wiki/Jsoup").get();
Elements links = doc.select("a[href]");
for (Element link : links) {
System.out.println(link.attr("abs:href") + " - " + link.text());
}
输出:(不完整)
https://en.wikipedia.org/wiki/Jsoup#mw-head - Jump to navigation
https://en.wikipedia.org/wiki/Jsoup#p-search - Jump to search
https://en.wikipedia.org/wiki/Software_developer - Developer(s)
https://en.wikipedia.org/wiki/Software_release_life_cycle - Stable release
https://en.wikipedia.org/wiki/Jsoup#cite_note-1 - [1]
https://en.wikipedia.org/wiki/Jsoup#cite_note-2 - [2]
https://en.wikipedia.org/wiki/Repository_(version_control) - Repository
https://github.com/jhy/jsoup - github.com/jhy/jsoup
...
如果我想打印整个网页的文本,则必须使用以下代码:
System.out.println(doc.body().text());
输出:(不完整)
jsoup来自维基百科,免费的百科全书跳转到导航跳转到
搜索jsoup Java HTML Parser开发人员Jonathan Hedley Stable
版本1.11.3 [1] / 2018-04-15 [2]仓库github.com/jhy/jsoup ...
如何在不包含链接文本的情况下打印doc的所有文本?
输出我希望的:
jsoup来自维基百科,免费的百科全书jsoup
Java HTML解析器Jonathan Hedley 1.11.3 / 2018-04-15 ...
最佳答案
Jsoup的Elements
具有remove()
方法。那应该从您的文档中删除链接。
Document doc = Jsoup.connect("https://en.wikipedia.org/wiki/Jsoup").get();
doc.select("a[href]").remove();
System.out.println(doc.body().text());