用HtmlUnit爬取淘宝数据
http://jiuxu.taobao.com/
比如我想爬取上面页面的所有宝贝链接
如<a href="http://item.taobao.com/item.htm?spm=a1z10.1.w5003-8452167994.1.fVp17O&id=40416742109&scene=taobao_shop" target="_blank" data-spm-wangpu-module-id="5003-8452167994" data-spm-anchor-id="a1z10.1.w5003-8452167994.1"><img src="http://img02.taobaocdn.com/imgextra/i2/50090008/TB2j6UraXXXXXaUXpXXXXXXXXXX_!!50090008.jpg" width="621" height="442" border="0" alt=""></a>
我想要http://item.taobao.com/item.htm?spm=a1z10.1.w5003-8452167994.1.fVp17O&id=40416742109&scene=taobao_shop 这个内容
HttpUtils没有渲染页面功能所以直接就放弃了(而且的确也抓不出我想要的内容)
在使用htmlUnit渲染页面的时候发现获得tbody内的信息不完整
原因经过查询相关资料大致了解:因为有的js内容需要浏览器滚动下拉才会加载
请问我要如何模拟浏览器的滚动下拉来加载页面上所有的js?
参数设置如下:
// 1 启动JS
webClient.getOptions().setJavaScriptEnabled(true);
// 2 禁用Css,可避免自动二次請求CSS进行渲染
webClient.getOptions().setCssEnabled(false);
// 3 启动客戶端重定向
webClient.getOptions().setRedirectEnabled(true);
// 4 js运行错誤時,是否拋出异常
webClient.getOptions().setThrowExceptionOnScriptError(false);
// 5 设置超时
webClient.getOptions().setTimeout(50000);
HtmlPage htmlPage = webClient.getPage(url);
// 等待JS驱动dom完成获得还原后的网页
webClient.waitForBackgroundJavaScript(10000);
// 网页內容
/* System.out.println(htmlPage.asXml()); */
webClient.closeAllWindows();
return htmlPage.asXml();
然后http://zarakara.tmall.com/这个页面用上述方法根本渲染不出所需的宝贝链接
已经尝试过各种方法包括python下面的phantomjs+casperjs 虽然可以解析 但是依然无法加载下面的内容
还有什么百度蜘蛛 谷歌蜘蛛。