如何在Java中呈现html(由Javascript处理)

时间:2012-06-03 18:16:53

标签: java javascript web-scraping

  

可能重复:
  Getting Final HTML with Javascript rendered Java as String

我在这两个链接中都有以下2个链接,评论部分是使用Javascript生成的。有没有办法可以获得页面的最终输出,即用Java渲染javascript的那个?

http://www.glamsham.com/movies/reviews/rowdy-rathore-movie-review-cheers-for-rowdy-akki-051207.asp

http://www.imdb.com/title/tt0461936/reviews

2 个答案:

答案 0 :(得分:1)

您应该可以使用PhantomJS。它作为无头浏览器(使用WebKit)运行,并且支持各种Web标准,如DOM处理,CSS选择器,JSON,Canvas和SVG。

答案 1 :(得分:0)

您可以使用基于java的“GUI LESS浏览器”HTML Unit。您可以轻松获取任何页面的最终渲染输出,因为这会在Web浏览器这样做时加载页面并返回最终渲染的输出。您可以禁用此行为。

更新:你问的是什么?这样做你不需要做任何额外的事情:

示例:

WebClient webClient = new WebClient();
HtmlPage myPage = ((HtmlPage) webClient.getPage(myUrl));

更新2 :您可以按如下方式获取iframe:

HtmlPage myFrame = (HtmlPage) myPage.getFrameByName(myIframeName).getEnclosedPage();

请阅读上面链接的文档。在HTMLUnit中获取页面内容没有什么不可做的