基于HtmlUnit网络爬虫(一)

由于时间关系,我不知道下一集会什么时候写,但是欢迎大家交流。

很多网络爬虫新手肯定会遇到的2个问题:执行JavaScript和处理Ajax请求。

我这里以HtmlUnit框架为例。

好了,我先贴一些关键配置的代码,使得我们模拟的浏览器可以执行CSS和JavaScript。

BrowserVersion bv = BrowserVersion.FIREFOX_24;

WebClient client = new WebClient(bv);

WebClientOptions options = client.getOptions();

options.setCssEnabled(true);

options.setPopupBlockerEnabled(true);

//假如要执行JS,此处很重要

options.setJavaScriptEnabled(true);

options.setRedirectEnabled(true);

options.setThrowExceptionOnFailingStatusCode(true);

options.setThrowExceptionOnScriptError(false);

options.setAppletEnabled(true);

options.setTimeout(30000);

//这行代码是针对https的网站

options.setUseInsecureSSL(true);

options.setActiveXNative(true);

options.setGeolocationEnabled(true);

options.setPrintContentOnFailingStatusCode(true);

client.waitForBackgroundJavaScript(30000);

client.getCookieManager().setCookiesEnabled(true);

//执行JS,此处配置很重要

client.setAjaxController(new NicelyResynchronizingAjaxController());

好了,各位可以参照一些网上的DEMO,假如不能顺利通过测试,建议先修改一下自己的配置。

下一节我会写一些怎么抓取网页的DEMO,以及如何执行JavaScript。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值