我想出了一些没有成功的东西。我正在尝试仅提取包含关键字的文本而不是网页的整个文本,因为网页上有该关键字。
String pconcat="";
for (i = 0; i < urls.length; i++) {
Document doc=Jsoup.connect(urls[i]).ignoreContentType(true).timeout(60*1000).get();
for(int x=0;x<keyWords.length;x++){
if(doc.body().text().toLowerCase().contains(keyWords[x].toLowerCase())){
Elements e=doc.select("body:contains("+keyWords[x]+")");
for(Element element : e)
{
pconcat+=element.text();
System.out.println("pconcat"+pconcat);
}
}
}
}
考虑一下example.com,如果我找的关键字是&#34;文件&#34; ,我需要输出为&#34;该域名被建立用于文档中的说明性示例。&#34;没有别的
答案 0 :(得分:0)
您不需要小写正文以便使用:contains
选择器,它不区分大小写。
包含指定文本的元素。搜索是大小写的 不敏感的。文本可能出现在找到的元素或其任何元素中 后代。
select()
只会在找到匹配项时返回元素。
与查询匹配的元素(如果没有匹配则为空)
您不需要if
- 语句来检查&#34;文档&#34;,只需使用css选择器选择匹配的任何元素,然后对结果执行某些操作。
Document doc = Jsoup
.connect(url)
.ignoreContentType(true)
.timeout(60*1000)
.get();
for (String keyword : keywords) {
String selector = String.format(
"p:contains(%s)",
keyword.toLowerCase());
String content = doc
.select(selector)
.text();
System.out.println(content);
}
<强>输出强>
该域名被建立用于说明中的示例 文档。您可以在不事先的示例中使用此域 协调或征求许可。