如何使用jsoup读入网页的非链接文本?

时间:2019-04-15 07:37:48

标签: java jsoup

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

如何打印不带链接文本的所有文档文本?

输出我想要的内容:

  

jsoup来自维基百科,免费的百科全书jsoup   Java HTML解析器Jonathan Hedley 1.11.3 / 2018-04-15 ...

1 个答案:

答案 0 :(得分:0)

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());