[英]How to extract text from all the elements in a webpage individually, using JSoup?
这里的问题是,如果我这样做:
Document doc = Jsoup.connect(url)
.timeout(30000)
.userAgent("Mozilla")
.followRedirects(true)
.get();
System.out.println(doc.select("body").text());
我将所有文本打包在一起,但我不想要那样。
假设我编写了这样的代码:
String part="<div>
Primary div
<div>
Secondary div
</div>
</div>";
Document doc = Jsoup.parse(part);
Elements links = doc.select("div");
for(Element e:links){
out.println(e.text());
System.out.println(e.text());
}
输出为:
Primary div Secondary div
Secondary div
内部div的文本被刮了两次。
我希望抓取输出应如下所示:
Primary div
Secondary div
我希望每个元素的文本都是唯一的,从子元素中排除该文本。
如何做到这一点? 嵌套子项的数量可以不止一个。
您没有得到Secondary div
两个副本,而是将其输出两次:一次作为Primary div
输出的一部分,然后再次独立输出。
如果只需要元素自己的文本而不是其子元素的文本,请使用Element#ownText
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.