当前位置: 首页 > 知识库问答 >
问题:

Java-使用Jsoup获取脚本标记中的文本

连鸿
2023-03-14

我正在使用Jsoup库读取URL。此url的文本在几个

doc = Jsoup.connect("http://www.example.com").timeout(10000).get();

Element div = doc.select("script").first();
for (Element element : div.children()) {
System.out.println(element.toString());
}

这是源代码中一个脚本标记的外观:

<script type="text/javascript">
(function() {
...
})();
</script>

共有3个答案

姜钊
2023-03-14
Document doc = Jsoup.parse(html);
Elements scripts = doc.getElementsByTag("script");
for (Element script : scripts) {
    System.out.println(script.data());
}
夹谷星河
2023-03-14

或者,您可以使用返回元素内部html的Element#html()方法。

从1.11.1开始:使用高效的Element#selectFirst()方法来查找脚本元素。

Document doc = Jsoup.connect("http://www.example.com").timeout(10000).get();
Element scriptElement = doc.selectFirst("script");

// Don't forget to check scriptElement is not null...

String jsCode = scriptElement.html(); 

直到JSoup 1.10.3:结合Element#select()Elements#first()调用来查找脚本元素。

Document doc = Jsoup.connect("http://www.example.com").timeout(10000).get();
Element scriptElement = doc.select("script").first();

// Don't forget to check scriptElement is not null...

String jsCode = scriptElement.html(); 
秦浩漫
2023-03-14

对您可以使用Element#getElementsByTag()获取所有脚本标记。每个脚本标记将由DataNode表示。

 Document doc =Jsoup.connect("http://stackoverflow.com/questions/16780517/java-obtain-text-within-script-tag-using-jsoup").timeout(10000).get();
 Elements scriptElements = doc.getElementsByTag("script");

 for (Element element :scriptElements ){                
        for (DataNode node : element.dataNodes()) {
            System.out.println(node.getWholeData());
        }
        System.out.println("-------------------");            
  }
 类似资料:
  • 问题内容: 我正在使用Jsoup库读取URL。该网址的一些标记中包含文本。我可以在每个标签中获取文本吗?请注意,我不要求解析Javascript文件,因为我已经知道JSoup不允许这样做。URL的实际源代码在script标签中包含文本,我需要这样做。 这是源代码中的脚本标签之一: 问题答案: 是。您可以使用Element#getElementsByTag()获得所有标签。每个脚本标签将由DataN

  • 问题内容: 当我使用jsoup提取数据时遇到一个职位。数据如下: 我想要这样的数据: 我怎样才能做到这一点?谁能帮我? 问题答案: 您可以将html解析为,选择-Element并获取其文本。 例: 输出:

  • 您好,我想得到的值以下的"交联",但我不知道如何做到这一点。 我正在使用Jsoup,下面是我的代码: 这就是我所拥有的: 你有什么想法可以得到价值,而不是“cotation”? 提前谢谢。

  • 我想从带有JSoup的HTML中获取一个又一个带有特定文本的标记的文本,如下所示: 如果我选择AAA,我想打印1111,如果我选择BBB,我想打印2222 我尝试过这个,但没有在文本字段中打印: 有人能帮忙吗?

  • 所以我尝试从pretag获取数据,我设置doc连接到url选择pretag,结果出错了,我需要获取的数据按这里

  • 主要内容:Jsoup 获取文本 语法,Jsoup 获取文本 说明,Jsoup 获取文本 示例以下示例将展示在将 HTML 字符串解析为 Document 对象后获取文本的方法的使用。 Jsoup 获取文本 语法 document : 文档对象代表 HTML DOM。 Jsoup : 解析给定 HTML 字符串的主类。 html : HTML 字符串。 link : 元素对象表示表示锚标记的 html 节点元素。 link.text() : text() 方法检索元素文本。 Jsoup 获