gpt4 book ai didi

java - Nashorn 解析网页

转载 作者:行者123 更新时间:2023-11-30 03:12:57 29 4
gpt4 key购买 nike

我正在尝试使用Nashorn来解析网页的JS内容。我使用以下代码来初始化 Nashorn 并加载页面:

ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine eng = manager.getEngineByName("nashorn");
//...
URL url = new URL("http://192.168.1.1/userRpm/StatusRpm.htm");
URLConnection connection = url.openConnection();
try {
eng.eval(new InputStreamReader(connection.getInputStream()));
value = eng.get("mobileParam[0]");
System.out.println(value);
} catch (ScriptException ex) {
Logger.getLogger(Router.class.getName()).log(Level.SEVERE, null, ex);
}

URLConnection 能够到达该页面,我尝试打印输出并且它有效,但由于奇怪的原因,指令:eng.eval(new InputStreamReader(connection.getInputStream()));给我错误:

Caused by: jdk.nashorn.internal.runtime.ParserException: <eval>:1:0 Expected an operand but found <

也许我误解了它是如何工作的。谁能帮我解释一下吗?

URL 的输出是:

< SCRIPT type="....

最佳答案

Nashorn 可以评估 Javascript,但您正在向其中提供 HTML 页面(其中仅包含一个脚本元素和一个脚本),因此它会失败。

您可以加载 URL,从脚本元素中提取脚本(例如使用 JSoup),然后使用 Nashorn 运行提取的脚本。

关于java - Nashorn 解析网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33255068/

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