Java怎么用documen获取script标签中Hub.config.set的内容
时间: 2024-03-11 19:49:06 浏览: 133
Java中可以使用第三方库jsoup来解析HTML文档,然后使用选择器语法获取所有的`script`标签,遍历这些标签,使用正则表达式提取出需要的内容。具体实现代码如下:
```java
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String html = "<html><body><script>\n" +
"Hub.config.set('key1', 'value1');\n" +
"Hub.config.set('key2', 'value2');\n" +
"Hub.config.set('key3', 'value3');\n" +
"</script></body></html>";
// 解析HTML文档
Document doc = Jsoup.parse(html);
// 获取所有的script标签
Elements scripts = doc.select("script");
// 遍历script标签
for (Element script : scripts) {
// 获取当前script标签的内容
String scriptContent = script.html();
// 检查script标签的内容是否包含Hub.config.set
if (scriptContent.contains("Hub.config.set")) {
// 使用正则表达式提取出需要的内容
Pattern pattern = Pattern.compile("Hub\\.config\\.set\\('(.+?)',\\s*'(.+?)'\\)");
Matcher matcher = pattern.matcher(scriptContent);
while (matcher.find()) {
String key = matcher.group(1);
String value = matcher.group(2);
System.out.println(key + ": " + value);
}
}
}
}
}
```
需要注意的是,这里使用了反斜杠对正则表达式的特殊字符进行了转义,例如`.`、`(`、`)`等。
阅读全文