使用htmlunit抓取动态网页

crawl dynamic web page using htmlunit

本文关键字:网页 动态 抓取 htmlunit 使用      更新时间:2023-09-26

我正在使用HtmlUnit从动态网页中抓取数据,该网页使用无限滚动来动态获取数据,就像facebook的新闻提要一样。我用下面的句子来模拟向下滚动事件:

webclient.setJavaScriptEnabled(true);
webclient.setAjaxController(new NicelyResynchronizingAjaxController());
ScriptResult sr=myHtmlPage.executeJavaScript("window.scrollBy(0,600)");
webclient.waitForBackgroundJavaScript(10000);
myHtmlPage=(HtmlPage)sr.getNewPage();

但myHtmlPage似乎与前一个保持不变,即myHtmlPage中没有附加新数据,因此我只能抓取网页上的前几个数据。谢谢你的帮助!

我在搜索同样的东西。我只能发现它不是滚动事件(90%确定)。JS上有一个链接,负责加载页面,可能会对你有所帮助。

我遇到了类似的问题,内容在页面滚动期间被后加载。我用解决了这个问题

webClient.getCurrentWindow().setInnerHeight(Integer.MAX_VALUE);