我几个月来一直在进行网页抓取,并且总是卡在使用javascript加载数据的网页上
我在使用HTMLunit的这些页面上取得了一定程度的成功,但有时Htmlunit会抛出这些不寻常的异常并最终不会加载页面。好吧,我不得不说使用HTMLunit是一个很好的尝试
有没有具体的方法来实现它?
但就我而言,我还没有深入研究HTMLunit。那你的建议是什么?我应该坚持使用HTMLunit还是有其他好的方法(库)来实现javascript处理?
仅供记录我使用Java作为主要语言。
答案 0 :(得分:1)
我已经使用Htmlunit进行了2到3年的网络报废,有一些配置可以帮助您处理加载问题:
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
// Edit some js, prior to execution
webClient.setScriptPreProcessor(new JavascriptPreProcessor() { ... } );
// Avoid throwing errors on JS execution
webClient.setThrowExceptionOnScriptError(false);
// Avoid throwing errors because of wrong response codes
webClient.setThrowExceptionOnFailingStatusCode(false);