Java Jsoup:获取所有标题标记

Java Jsoup:获取所有标题标记,java,jsoup,Java,Jsoup,我试图用Jsoup解析一个html文档,以获得所有标题标记。此外,我需要将标题标记分组为[h1][h2]等 hh = doc.select("h[0-6]"); 但是这给了我一个空数组。您的选择器在这里表示具有属性“0-6”的h标记,而不是正则表达式。但您可以组合多个选择器:hh=doc.select(“h0、h1、h2、h3、h4、h5、h6”) 分组:是否需要一个包含所有h标签的组+每个h1、h2、。。。标记或仅标记每个h1、h2、。。。标签 下面是一个如何做到这一点的示例: /

我试图用Jsoup解析一个html文档,以获得所有标题标记。此外,我需要将标题标记分组为[h1][h2]等

     hh = doc.select("h[0-6]");
但是这给了我一个空数组。

您的选择器在这里表示具有属性“0-6”的h标记,而不是正则表达式。但您可以组合多个选择器:
hh=doc.select(“h0、h1、h2、h3、h4、h5、h6”)

分组:是否需要一个包含所有h标签的组+每个h1、h2、。。。标记或仅标记每个h1、h2、。。。标签

下面是一个如何做到这一点的示例:

// Group of all h-Tags
Elements hTags = doc.select("h1, h2, h3, h4, h5, h6");

// Group of all h1-Tags
Elements h1Tags = hTags.select("h1");
// Group of all h2-Tags
Elements h2Tags = hTags.select("h2");
// ... etc.
如果您希望每个h1、h2都有一个组。。。标记您可以删除第一个选择器,并在其他选择器中将
hTags
替换为
doc

使用doc。选择(“h1、h2、h3、h4、h5、h6”)以获取所有标题标记。
使用文档。选择(“h1”)分别获取这些标签。在

中查看select语句可以执行的各种操作这里是答案的Scala版本,它使用Ammonite的语法指定Jsoup的Maven坐标:

import $ivy.`org.jsoup:jsoup:1.11.3`
val html = scala.io.Source.fromURL("https://scalacourses.com").mkString
val doc = org.jsoup.Jsoup.parse(html)
doc.select("h1, h2, h3, h4, h5, h6, h7").eachText()