爬网页数据

使用htmlunit爬网页数据,优点支持js的执行

 

        // 得到浏览器对象,直接New一个就能得到,现在就好比说你得到了一个浏览器了
        WebClient webclient = new WebClient();

        // 这里是配置一下不加载css和javaScript,因为httpunit对javascript兼容性不太好
        webclient.getOptions().setCssEnabled(false);
        webclient.getOptions().setJavaScriptEnabled(false);

        // 做的第一件事,去拿到这个网页,只需要调用getPage这个方法即可
        HtmlPage htmlpage = webclient.getPage("http://baidu.com");
        System.out.println(htmlpage.asXml());

        // 根据名字得到一个表单,查看上面这个网页的源代码可以发现表单的名字叫“f”
        final HtmlForm form = htmlpage.getFormByName("f");
        // 同样道理,获取”百度一下“这个按钮
        final HtmlSubmitInput button = form.getInputByValue("百度一下");
        // 得到搜索框
        final HtmlTextInput textField = form.getInputByName("q1");
        // 搜索我的id
        textField.setValueAttribute("th是个小屁孩");
        // 输入好了,我们点一下这个按钮
        final HtmlPage nextPage = button.click();
        // 我把结果转成String
        String result = nextPage.asXml();

        System.out.println(result); // 得到的是点击后的网页

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值