【问题标题】:How do i Jsoup query for the value of a html key/value pair我如何 Jsoup 查询 html 键/值对的值
【发布时间】:2020-04-11 14:16:12
【问题描述】:

对不起,如果我的条款被取消了,我以前没有这样做过

我正在使用 jsoup 从网站页面上抓取单个值, 我正在尝试查找存储在此函数中的"serialno"(java 脚本?)

    function set(obj, val)
{
document.getElementById(obj).innerHTML= val;
}

被调用

{set("modelname", "NPort 5650-16");set("mac", "00:90:E8:22:76:F4");set("serialno", "2583");set("ver", "3.3 Build 08042219");setlabel("NPORT");uptime("264 days, 03h:31m:34s");}<

我不确定如何使用 jsoup 来提取/打印 serialno 值,在这种情况下恰好是 2583。我尝试了使用 getElementById 的基本命令,但我以前从未使用过 jsoup。我熟悉地图,但不确定如何使用 jsoup 进行操作,并且大多数在线教程都需要表格中确切单元格的实际“路径”(显示此信息的位置)。

【问题讨论】:

    标签: java html web-scraping jsoup


    【解决方案1】:

    您不能使用 Jsoup 来执行此操作。 Jsoup 可以解析 HTML,但是 javascipt 却是力不从心,被识别为文本。它无法执行,也无法从 javascript 中选择内容。
    但是,如果您已经将 HTML 解析为 Document,并且您正在寻找替代解决方案,则可以尝试使用正则表达式来获取该值。

            Document doc = Jsoup.parse...
            String html = doc.toString();
            Pattern p = Pattern.compile("set\\(\"serialno\", \"(\\d+)\"\\)");
            Matcher m = p.matcher(html);
            if (m.find()) {
                String serialno = m.group(1);
                System.out.println(serialno);
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多