使用jsoup爬虫抓取页面

来源:互联网 发布:天之道其犹张弓乎原文 编辑:程序博客网 时间:2024/05/22 15:41

httpclient 和jsoup都可以实现模拟浏览器抓取页面,前者发送请求,后者解析htm标签比较强大。本例直接使用jsoup实现请求和解析。

package com.chongdong.log.test;import java.io.IOException;import java.util.HashMap;import java.util.Map;import org.jsoup.Connection;import org.jsoup.Connection.Method;import org.jsoup.Jsoup;import org.jsoup.helper.HttpConnection.Response;import org.jsoup.nodes.Document;import org.jsoup.select.Elements;import org.junit.Test;/** * * 类名称:JsoupTest   * 类描述:    jsoup  抓取 mitsuku聊天 信息* 创建人:zk   * 创建时间:2015-7-20 下午3:52:06   * 修改人:zk   * 修改时间:2015-7-20 下午3:52:06   * 修改备注:   * 开发进度:* @version  1.0  * */public class JsoupTest {    public  static  void  postMitSuKu(){        Map<String, String> map = new HashMap<String, String>();        /**  表单 提交的参数          *  input:how old  are  you            botid:9fa364f2fe345a10            custid:c04f62ad1e044059            faq : http://www.pandorabots.com/botmaster/en/faq#h1         * **/        map.put("input", "hi");        map.put("botid", "9fa364f2fe345a10");  //开启 可在 跳转到聊天框界面 获取  标示        map.put("custid", "c04f62ad1e044059");  //当一个空请求 即可获取 相当于 标示        Connection conn = Jsoup.connect("http://fiddle.pandorabots.com/pandora/talk-xml");    /*  conn.header("(Request-Line)", "POST /cgi-bin/login?lang=zh_CN HTTP/1.1");*/        conn.header("Accept", "*/*");        conn.header("Accept-Encoding", "gzip,deflate,sdch");        conn.header("Accept-Language", "zh-CN,zh;q=0.8");/*      conn.header("Content-Length", "58");*/        conn.header("Origin", "http://www.square-bear.co.uk");        conn.header("Pragma", "no-cache");        conn.header("Connection", "Keep-Alive");        //必须 填写  表单提交        conn.header("Content-Type", "application/x-www-form-urlencoded");        conn.header("Host", "fiddle.pandorabots.com");        conn.header("Referer", "http://www.square-bear.co.uk/mitsuku/mitsy_retro.swf");        conn.header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36");        try {            Response response = (Response) conn.ignoreContentType(true).method(Method.POST).data(map).execute();            //response.            String json=response.body();        System.out.println(json);        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    /////////////////////////////////////////////////////////////////////////////////////////    //方案2:    通过 开发抓包工具可知  表单的提交方式  应该为http post  此处为 get  方法 不合适    /**         * 请求英文对话的网页,抓取结果         * @param url            * @return         */        private static String processLogic(String url){            String result = "";            try {                    Document document = Jsoup.connect(url).ignoreContentType(true).ignoreHttpErrors(true)                    .followRedirects(true).timeout(5000).userAgent("Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/4.0;)").get();                    Elements elements = document.select("result that");                    result = elements.text();                    System.out.println(result);            } catch (Exception e) {                e.printStackTrace();                result = "ok";            }            return result;        }    public static void main(String[] args) {        for (int i = 0; i < 100; i++) {        //  Thread  thread=new Thread();            //thread.start();            postMitSuKu();        }        /*         通过 开发抓包工具可知  表单的提交方式  应该为http post  此处为 get  方法 不合适        String url = "http://fiddle.pandorabots.com/pandora/talk-xml?input=%s&botid=9fa364f2fe345a10&custid=bbbb30debe1bc7f7";        processLogic(url);        */    }}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 微信怎么在电脑上登不上去怎么办 玩旧版60级魔兽经常花屏怎么办? 我的世界手机版物品栏不见了怎么办 苹果手机掉进水里出现花屏该怎么办 球球大作战还没进去停止运行怎么办 ps3 e3硬破芯片坏了怎么办 电话打开后页面上没有东西怎么办 WPS在电脑安装后卸载不了怎么办 ps总要以管理员的身份打开怎么办 3d关的慢保存慢怎么办 无法与服务器建立可靠的连接怎么办 被抵押的房子开发商不解押怎么办 手机系统语言是英文没有中文怎么办 w7主机网插口灯不亮了没网怎么办 电脑用了5年变得很卡了怎么办 苹果6s系统占12g怎么办 百度网盘下载的压缩包打不开怎么办 三星手机微信安装包解析错误怎么办 下身流出来的东西有异味很重怎么办 鞋脚底总有一股酸臭的味道怎么办 腋窝总是有股酸臭的味道应该怎么办 房间里总是有灰尘的味道怎么办 香水喷多了衣服味道太呛怎么办 香水喷在衣服上变黄了怎么办 84喷在白衣服上变红怎么办 夏季高温多肉山地玫瑰砍头了怎么办 海水缸爆藻有些石头不出绿藻怎么办 不小心把b原来的壁纸删了怎么办 注册简历时没有固定电话必填怎么办 申诉找回微信账号密码验证码怎么办 激活淘宝时显示注册账号过多怎么办 科学上网之后电脑上不了网怎么办 阴阳师地域鬼王定位在非洲怎么办 网吧忘记下机有小孩玩我号怎么办 等了三年老公还是不跟小三断怎么办 小三生孩子老公为责任断不了怎么办 没离婚去医院生孩子刷身份证怎么办 小孩早晨起床鼻子痒有鼻涕怎么办 孩子鼻梁上方和眼眶磕肿了怎么办 宝宝开空调冻的流鼻涕打喷嚏怎么办 狼人杀带耳机麦没声音怎么办