有人会抓取http://www.csair.com/cn/index.asp查询后的机票信息吗?
查询后到http://ec.csair.com/B2C/modules/order/simple/showflights.jsp这个页面,里面显示的航班信息是通过JQ异步取回来的,不知道哪位有没有好办法,获取这个数据。万分感谢。
查询后到http://ec.csair.com/B2C/modules/order/simple/showflights.jsp这个页面,里面显示的航班信息是通过JQ异步取回来的,不知道哪位有没有好办法,获取这个数据。万分感谢。
//注意:以下仅是思路//以下是大体的流程(首先点击按钮发送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>
查询后到www.hangk.in/这个页面,里面显示的航班信息是通过JQ异步取回来的,不知道哪位有没有好办法,获取这个数据。万分感谢。