PHP怎样抓取网页代码中动态(Ajax)显示的数据

PHP怎样抓取网页代码中动态(Ajax)显示的数据,第1张

你是想抓别人网页上ajax动态载入的数据吧? 1、要找到它的ajax载入的URL地址 2、利用PHP的file_get_contents($url)函数读取那个url地址。 3、对抓取到的内容进行分析或正则过滤。

如果要描图的话  需要加载 相应的地图api 库    怎样描点要根据 api的格式 比如 , 我用baidu 的api  需要的是数组格式

那么代码 是这样的 

function getGps_msg(cur_date){

var rt_array=new Array();

cur_phone_no=$("#user_list")val();

$ajax({

type:"get",

url:"json_gpsphp",

async:false,

dataType:"json",

data:{cur_date:cur_date,phone_no:cur_phone_no},

success: function(msg){

  for (var i=0;i<msglength;i++){

rt_array[String(i)]=msg[i];

}

}

});

return rt_array;

}

得到你一个描点的数组了 再去描点

function drawPion(data_arr){

//var data_arr=getGps_msg();

//alert (data_arr);

bmclearOverlays();

var cx=data_arr['0']['longitude'];

var cy=data_arr['0']['latitude'];

bmcenterAndZoom(new BMapPoint(cx,cy),18);

var dianshu=0;

for (var i=0;i<data_arrlength;i++){

var  msg=data_arr[i]['rec_time'];

var   lab_msg="";

  var   xx= data_arr[i]['longitude'];

  var   yy= data_arr[i]['latitude'];

  //alert (i);

var markergps = new BMapMarker(new BMapPoint(xx,yy));

//bmaddOverlay(markergps,i); //添加GPS标注

if (dianshu==9){

bmaddOverlay(markergps,i); //添加GPS标注

dianshu=0;

}else{

dianshu++;

}

if(i==0){

//var markergps = new BMapMarker(new BMapPoint(xx,yy));

bmaddOverlay(markergps,i); //添加GPS标注

lab_msg="最后位置";

}

if(data_arr[i]['img_file_path']!==""){

//var markergps = new BMapMarker(new BMapPoint(xx,yy));

bmaddOverlay(markergps,i); //添加GPS标注

lab_msg+="[图]";

var sContent ="<img style='float:right;margin:4px' id='imgDemo"+i+"' src='"+data_arr[i]['img_file_path']+"' width='320' height='240' title='photo'/>";

 addClickHandler(sContent,markergps);

}

if (i==data_arrlength-1){

//var markergps = new BMapMarker(new BMapPoint(xx,yy));

bmaddOverlay(markergps,i); //添加GPS标注

lab_msg="开始位置";

}

var labelgps = new BMapLabel(i+lab_msg,{offset:new BMapSize(20,-10)});

markergpssetLabel(labelgps,i); //添加GPS标注

}

}

得到效果 

首先要确定ajax发起了请求,并且携带了参数

可以使用浏览器的“审查元素”功能来查看异步请求的执行状况。

以360浏览器为例:

1、按下F12后会打开审查元素窗口。

2、选择Network。

3、执行一次ajax请求,在下面文本框中会多一条请求数据。类型为xhr。

4、点击该条请求数据,可以在右侧的详情中查看到请求携带的参数。

本例中请求名称为sug,携带了参数是kw=1。请求的方式是post请求。

如果是get请求,可以使用$_GET来获取。

如果是post请求,可以使用$_POST来获取。

所以本例在服务端使用$_POST['kw']即可获取到值"1"。

以上就是关于PHP怎样抓取网页代码中动态(Ajax)显示的数据全部的内容,包括:PHP怎样抓取网页代码中动态(Ajax)显示的数据、新手求助如何在js上使用ajax接收php读取的mysql数据并输出、AJAX发送参数到PHP页面怎么获取不到等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9811712.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存