2014-11-03 41 views
0

您好,这是我在这里的第一个问题,我想知道如果有人有我的问题的解决方案,我想在加载所有内容后获得网页的完整内容。例如,我有一个网站在网页加载完成后提取信息,就像使用ajax从服务器请求数据的搜索页面一样。当我运行代码时,我所得到的只是网页的基本外壳,没有任何内容来自搜索结果。Java BufferedReader不加载网页的全部内容

URL url = new URL("a_url"); 
    BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); 
    String inputLine; 
    while ((inputLine = in.readLine()) != null) 
     System.out.println(inputLine); 

    in.close(); 

我寻找海盗湾的种子,因为我测试在Java中使用磁铁下载的,当我尝试收集磁铁链接和洪流的名称“inputLine”不打印任何东西,我已搜索,只有该网站包括之前,搜索已被添加。任何帮助将非常感谢

+0

你正在加载的是页面的来源。如果在通过Javascript加载页面之后加载内容,那么内容将不会出现在该输入流中。 – thatidiotguy 2014-11-03 17:11:22

+0

是的我明白这是它在做什么我希望能够等待其他数据被加载之前返回到流输出数据的解决方案 – 2014-11-03 17:18:02

回答

1

随着你的作品,你要求页面到服务器并显示到sysout。

在页面加载后拉出的每个内容都由一些javascript请求。 JavaScript由Web浏览器解释。如果你想得到相同的结果,你应该像浏览器一样解释JavaScript。我认为,jsoup有这样的功能(从未测试过)。

其他解决方案:JavaScript正在通过HTTP API访问服务器。尝试从你的java代码访问一些API,而不要求主页面。

+0

我知道发生了什么,但正如我所说我是寻找一个解决方案,至于另一个解决方案,我已经尝试过在网页上获取方法,看看内容是否由PHP驱动,但同样的结果发生,所以我假设它是Java脚本,我通过使用HttpUrlConnection类如果有帮助,并感谢JSoup的想法,我会看看它 – 2014-11-03 17:26:18