下面的例子使用htmlunit及xpath , 来获取某网页html中的数据. 可以用来爬虫获取数据等. 更多…
标签归档文章: htmlunit
如何关闭htmlunit的warning日志
看着这么多warning日志,心烦意乱? 怎么关闭掉呢?
java.util.logging.Logger.getLogger(“com.gargoylesoftware”).setLevel(Level.OFF); java.util.logging.Logger.getLogger(“org.apache.http.client”).setLevel(Level.OFF);
将您需要关闭日志的类,并关闭掉. 那么日志就不再乱蹦出来了.
webcrawler 网页爬虫(二)
调试发现, 通过webdriver 使用htmlunitdriver 并无法获得javascript 执行后的html dom 树。 而只是可以获取的html的source 页面。
note: sourcepage 和 经过script解析的html dom ,暂且这么叫。 sourcepage 是经过php,jsp,sevlet也好, 输出的未经过浏览器(客户端)进行解析的html code。 而真正展现在用户面前的, 是经过script,css解析后, 友好展现在用户面前的真实数据。
例如,我写了一个简单的html页面。 有一句简单的js语句。
<html><body>welcome<div><script>document.write(‘<span>hello</span>’);</script></div></body></html>
打开页面后, 我们察看source page, 则看到的如上的代码。 更多…
htmlunit getpage()避免抛出javascript执行和状态码异常
对于我们的浏览器来说, 就是说当js脚本异常,或者css等资源找不到时, 不要让用户无法浏览其余我们正常的部分. 所以我们用htmlunit来模拟browser行为时, 这些设置是非常重要的.
webClient.setThrowExceptionOnScriptError(false);
// 设定当script脚本执行异常时, 不抛出异常.
webclient.setThrowExceptionOnFailingStatusCode(false);
// 当获得失败的状态码时, 设定不抛出异常. 比如经常找不到丢失的css,js资源等.
webclient.setPopupBlockerEnabled(true);
// 将探出的页面阻塞住, 防止因为自动弹出页面.