gpt4 book ai didi

java - 如何获取 HTML 中所有脚本的内容

转载 作者:行者123 更新时间:2023-12-01 14:37:21 25 4
gpt4 key购买 nike

我正在制作一个Java程序,其中涉及从网页中提取标签。为了解析,我使用Jsoup,它工作正常。但是下载页面中的标签数量存在一些问题。我有 4 个文件:-

  1. goog1.htm(我通过浏览器从https://www.google.co.in保存)
  2. goog2.html(我使用命令“wget https://www.google.co.in”下载)
  3. goog3.html(我使用 BufferedReader 和 InputStreamReader 通过 Java 程序下载)
  4. goog4.html(我通过从“view-source: https://www.google.co.in/”复制整个代码获得)

当我在这 4 个文件中搜索字符串“< script/>”时,都给出了不同的结果。

  • goog1.htm - 16 次
  • goog2.html - 5 次
  • goog3.html - 5 次
  • goog4.html - 10 次

造成这种差异的原因是什么?如何从页面获取所有脚本标签?

我应该使用哪个文件来测试我的程序?

提前致谢...

最佳答案

1) script 标签数量不同的原因是在 HTML 页面中可以定义多个 script 标签。

2) 页面中的所有脚本标签均已加载并且将运行。如果您想测试所有脚本代码,则需要对所有脚本代码进行测试。这取决于您的测试范围。

3) 如果您将内容作为文本处理到 JAVA 程序中,您可以通过使用子字符串方法解析来获取所有脚本标签内容。但我建议使用 Apache commons StringUtils 类来执行此操作。

import org.apache.commons.lang.StringUtils;

public class scriptContentRetriever{

public static void main(String[] args) {
String yourScriptContent = "<script>This is Script 1 Content</script><script>This is Script 2 Content</script>";
String[] scriptStrings = StringUtils.substringsBetween(yourScriptContent, "<script>", "</script>");
for (String scriptString : scriptStrings) {
//Do what ever you want with the script content right here.
System.out.println(scriptString);
}
}

}

关于java - 如何获取 HTML 中所有脚本的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16358862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com