我知道,如果我想使用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());

07-24 09:49
查看更多