如何从Js对象获取id与Jsoup - Java

时间:2015-07-23 15:54:11

标签: java jsoup

我想用Jsoup找到html对象的id。

<object id="gamediv" </object>

我试过了:

String startingURL = "http://www.example.com";
try {
    doc = Jsoup.connect(startingURL)
            .userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")
            .referrer("http://www.google.com")
            .timeout(1000*5) //it's in milliseconds, so this means 5 seconds.              
            .get();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

Elements get = doc.select("object");

for (Element elem : get){
    if (get.attr("id") != null){
        System.out.println(get.attr("id"));
    }
}

但没有任何反应。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

首先,您可以将代码简化为简单。

for (Element elem : doc.select("object[id]")) {
    System.out.println(elem.attr("id"));
}

其次,如果doc不包含您要查找的object,则表示服务器未将其发送给var a = [1, 2, 3, 5, 7], b = [1, [2, 3], [4, 5, [7]]]; var result = _.filter(_.flattenDeep(b), function(item){ return a.indexOf(item) === -1; }); console.log(result); $("body").append(JSON.stringify(result))。可能没有什么理由可以使用最常见的

  • 用户代理标头不正确,
  • 此HTML代码由浏览器通过JavaScript生成。

第一种情况似乎并不适用于此,因此在动态内容的情况下,您应该使用其他库,因为Jsoup只是解析器,而不是浏览器模拟器。如果您正在寻找更强大的工具,请查看Selenium等网络驱动程序。