如何在Crawljax中获取爬网内容

我使用Crawljax抓取动态网页。 我能够获取抓取当前ID,状态和dom。 但我无法获得网站内容..任何人帮助我?

CrawljaxConfigurationBuilder builder = CrawljaxConfiguration.builderFor("http://demo.crawljax.com/"); builder.addPlugin(new OnNewStatePlugin() { @Override public String toString() { return "Our example plugin"; } @Override public void onNewState(CrawlerContext cc, StateVertex sv) { LOG.info("Found a new dom! Here it is:\n{}", cc.getBrowser().getStrippedDom()); String name = cc.getCurrentState().getName(); String url = cc.getBrowser().getCurrentUrl(); System.out.println(cc.getCurrentState().getDom()); System.out.println("New State: " + name + "; url: " + url); } }); CrawljaxRunner crawljax = new CrawljaxRunner(builder.build()); crawljax.call(); 

如何获取动态/ java脚本网页内容..

我们可以获得网站源代码cc.getBrowser()。getStrippedDom()); 或cc.getCurrentState()。getDocument(); 这个编码是返回源代码(css / java脚本文件)..

不可能。因为它的测试工具。这个工具只检查Text是否可用,将临时数据分配给Fields。

要获取网站内容,请使用以下function:

 cc.getCurrentState().getDom() 

此函数不返回DOM节点,而是实际返回页面的HTML文本。 如果你想要页面内容,这是正确的function,但听起来它返回一个DOM节点,所以名称getDom是用词不当。 要获取DOM节点,请使用:

 cc.getCurrentState().getDocument() 

它返回Document DOM节点。

您可以使用以下方式检索页面内容:

cc.getCurrentState()。getDocument()。getTextContent()

编辑 :这不起作用 – getTextContent在Documents上调用时总是返回null 。)