我怎样才能获得所有页面内容?

时间:2011-07-06 08:05:06

标签: java

我想获取网站的所有页面内容示例:http://academic.research.microsoft.com/Author/1789765/hoang-kiem?query=hoang%20kiem

我使用了这段代码:

 String getResults(URL source) throws IOException {

        InputStream in = source.openStream();
        StringBuffer sb = new StringBuffer();
        byte[] buffer = new byte[256];
        while(true) {
            int bytesRead = in.read(buffer);
            if(bytesRead == -1) break;
            for (int i=0; i<bytesRead; i++)
                sb.append((char)buffer[i]);
        }
        return sb.toString();
    }

但结果遗漏了一些信息,例如信息,一些关于作者的提示,如下所示Image

你能给我一些建议吗?谢谢

2 个答案:

答案 0 :(得分:5)

作者详细信息由ajax调用加载(单击firebug中的“Net”选项卡并重新加载页面)。如果您想获得这些详细信息,则必须在将执行javascript的环境中加载页面(即:浏览器)。

答案 1 :(得分:1)

我很确定这些内容是按照JavaScript加载到页面中的,当从Java中检索页面文本时,您无法做任何事情。你可能想要获得一个浏览器插件(Firefox拥有最大的插件库)。