Java 如何在Crawljax中获取爬网内容
我用Crawljax抓取动态网页。我可以获取当前id、状态和dom。但我无法获取网站内容。。有人帮我吗Java 如何在Crawljax中获取爬网内容,java,web-crawler,Java,Web Crawler,我用Crawljax抓取动态网页。我可以获取当前id、状态和dom。但我无法获取网站内容。。有人帮我吗 CrawljaxConfigurationBuilder builder = CrawljaxConfiguration.builderFor("http://demo.crawljax.com/"); builder.addPlugin(new OnNewStatePlugin() { @Override public S
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.getCurrentState().getDom()
此函数不返回DOM节点,而是实际返回页面的HTML文本。如果需要页面内容,这是正确的函数,但它听起来像是返回了一个DOM节点,因此getDom这个名称用词不当。要获取DOM节点,请使用:
cc.getCurrentState().getDocument()
它返回文档DOM节点
您可以通过以下方式检索页面内容:
cc.getCurrentState.getDocument.getTextContent
编辑:这不起作用-在文档上调用getTextContent时总是这样。我们可以获得网站源代码 cc.getBrowser.getStrippedDom;或cc.getCurrentState.getDocument; 此编码返回源代码css/java脚本文件
不可能。因为它的测试工具。此工具仅提供检查文本,请将临时数据分配给字段。您能检查它吗。。然后显示空值。如何获取文本值?如果可以获取DOM,就可以获取内容,对吗?是一样的,不。我找不到内容。它显示空值。