java html解析器,用于读取javascript生成的内容

时间:2014-05-07 06:19:21

标签: java html-parsing jsoup web-crawler

我使用jsoup通过以下功能阅读网页。

public Document getDocuement(String url){
        Document doc = null;
        try {
            doc = Jsoup.connect(url).timeout(20*1000).userAgent("Mozilla").get();
        } catch (Exception e) {
            return null;
        }
        return doc;
    }

但每当我尝试阅读包含javascript生成内容的网页时,jsoup都不会读取这些内容。即,页面的实际内容是通过一些javascript调用加载的。因此它不存在于该链接的页面源中。例如,此博客:http://blog.rapporter.net/search/label/r。有没有办法在使用Jsoup解析页面时获取javascript生成的内容?如果没有请建议任何可以解决这个问题的java html解析器..

1 个答案:

答案 0 :(得分:3)

您无法使用Jsoup 执行此操作。 Jsoup解析HTML,等待AJAX​​请求或JavaScript内容一般你需要一个可以执行这个JavaScript的浏览器,以便从中获取一些输出。 JavaScript逻辑可能很复杂,因此执行JavaScript和加载内容并不是一件容易的事情(只需看看复杂的浏览器,JS和DOM是多么复杂)。