提问人:Marcopolo Soc 提问时间:8/25/2012 更新时间:7/8/2014 访问量:4840
使用 HTMLUNIT 对动态网页进行爬网
crawl dynamic web page using htmlunit
问:
我正在使用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中没有附加新数据,因此我只能抓取网页上的前几个数据。感谢您的帮助!
答:
0赞
Srneczek
5/1/2013
#1
我在寻找同样的东西。我只能发现它不是滚动事件(90% 确定)。JS 上有链接,负责加载页面,也许可以帮到你。
-1赞
pitschr
7/8/2014
#2
我遇到了类似的问题,内容在页面滚动期间被后加载。我使用以下方法解决了它:
webClient.getCurrentWindow().setInnerHeight(Integer.MAX_VALUE);
评论