有人会抓取http://www.csair.com/cn/index.asp查询后的机票信息吗?
查询后到http://ec.csair.com/B2C/modules/order/simple/showflights.jsp这个页面,里面显示的航班信息是通过JQ异步取回来的,不知道哪位有没有好办法,获取这个数据。万分感谢。

解决方案 »

  1.   

    抓取“提前购票更多优惠”这块的信息,用php的file_get_contents获取页面信息,然后存到session中(其他的存储方式也行),然后跳转页面,然后显示信息(或者楼主说的ajax)
      

  2.   

    对了,楼主用的是jsp,jsp不太熟悉,不过应该也会有相关的方法吧
      

  3.   

    用java.net.Socket抓取 建议去java版问问
      

  4.   


    //注意:以下仅是思路//以下是大体的流程(首先点击按钮发送ajax请求->后台php获取数据并以数组json的形式返回来->然后js处理数据动态显示在页面中)
    <?php
    //参数
    //$data = array();//地址,需要适当的地址,这里就是一个假设的地址
    $url = 'http://www.baidu.com';$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);
    //post提交方式
    //curl_setopt($ch, CURLOPT_POST, 1);
    //POST 提交的参数写在一个数组里面,也可以是username=kyzy&password=kyzy形式
    //curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    //获得返回内容,但不需要直接输出到页面上
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    //时间延迟
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    //执行,并接收返回的内容
    $output = curl_exec($ch);
    curl_close($ch);
    //echo $output;
    //用正在开始匹配$output中的有用的数据,然后以json_encode($array)的方式返回给前台
    $preg = '/这里是你的规则/is';
    //将匹配规则的数据放到数组$arr中
    preg_match_all($preg, $output, $arr);
    //向前台返回数据
    echo json_encode($arr);exit;
    ?>
    <input type="button" value="获取数据" onclick="get_getData()">
    <script>
    var request;
    function createxmlHttpRequest(){//判断浏览器类型,创建xmlHttpRequest对象
    if(!request){
    if(window.XMLHttpRequest){
    request = new XMLHttpRequest();
    }else{
    request = new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    }function get_getData(){//get发送模式
    createxmlHttpRequest();
    var url = "ad.php";//如果有参数参数?text=" + encodeURI(document.getElementById("text").value);
    request.open("get", url, true);//同步或异步
    request.onreadystatechange = callback;
    request.send(null);
    }function post_getData(){//post发送模式
    createxmlHttpRequest();
    var url = "abc.php";
    var send = "text=" + encodeURI(document.getElementById("text").value);
    request.open("post", url, true);//false同步 true异步(默认的)
    request.onreadystatechange = callback;
    request.setRequestHeader("content-type", "application/x-www-form-urlencoded");
    request.send(send);
    }function callback(){//回调函数
    if (request.readyState == 4){
    if (request.status == 200){
    // alert(request.responseText);
    var data = eval("("+request.responseText+")");
    //此处将data处理然后动态的显示到页面中
    }else if(request.status == 404){
    alert("该路径未找到");
    }else if(request.status == 403){
    alert("禁止访问");
    }else{
    alert("status is " + request.status);
    }
    }
    }
    </script>
      

  5.   

    有人会抓取http://www.hangk.in/查询后的机票信息吗?
    查询后到www.hangk.in/这个页面,里面显示的航班信息是通过JQ异步取回来的,不知道哪位有没有好办法,获取这个数据。万分感谢。
      

  6.   

    curl,用的post方式提交查询数据,之后的就不用说了,正则替换