使用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中没有附加新数据,因此我只能抓取网页上的前几个数据。谢谢你的帮助!
我在搜索同样的东西。我只能发现它不是滚动事件(90%确定)。JS上有一个链接,负责加载页面,可能会对你有所帮助。
我遇到了类似的问题,内容在页面滚动期间被后加载。我用解决了这个问题
webClient.getCurrentWindow().setInnerHeight(Integer.MAX_VALUE);
相关文章:
- 如何在不重新加载整个网页的情况下动态更改经度和纬度的值
- I'我试图在我的网页上动态地上下移动元素.我该怎么做
- Matplotlib;动态网页
- 使用htmlunit抓取动态网页
- 从脚本中的动态(javascript)网页获取信息
- 如何使用javascript在asp.net网页表单上动态添加文本框
- 如何为动态网页创建谷歌放大器
- .val() 选择文本而不是值字符串,当网页动态编辑源 html
- 使用 jQuery 将文本框动态添加到网页
- 使用 HTML5<输入>字段抓取动态生成的网页
- 动态网页的SEO
- 在不增加分析跳出率的情况下,绑定网页上的内部链接以动态加载
- 从动态生成的列表在PHP网页之间传递数据
- 使用javascript/jquery从网页中获取动态更改的数据
- 动态网页的快捷方式
- 动态创建的网页不起作用
- 在网页上动态更改图像,而无需先将它们存储在服务器中[Javascript/Jquery - Spring]
- 动态突出显示(更改背景)/网页中的内容
- 使用用户脚本记录网页动态创建的标记属性
- 使用用户脚本记录网页动态创建的 DOM 元素