javascript - 求指教怎么获取该网页动态数据
本文介绍了javascript - 求指教怎么获取该网页动态数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
有什么办法可以获取到这部分数据:
网页链接:http://xxfb.hydroinfo.gov.cn/...
网页截图:
大概思路是使用如下方法获取class为sqjbstyle的td数目,再取出来表格td的内容
但这样打印出来的长度为0,不知道该怎么弄了,请大神指教下,感谢。
代码截图:
解决方案
$ch = curl_init();
//设置超时
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch,CURLOPT_URL, 'http://xxfb.hydroinfo.gov.cn/dwr/call/plaincall/IndexDwr.getCJXX.dwr');
//设置header
curl_setopt($ch, CURLOPT_HEADER, FALSE);
//要求结果为字符串且输出到屏幕上
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
//post提交方式
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array(
'callCount'=>1,
'page'=>'/index.html',
'httpSessionId'=>'2DD215E3F101D30EB5E23D0E3F19E238.tomcat1',
//这个sessionid和下面的criptSessionId 暂时用的是我网页上的,估计你测试的时候会有问题
'scriptSessionId'=>'013C85DE9865D5696402D23AB1620423617',
'c0-scriptName'=>'IndexDwr',
'c0-methodName'=>'getCJXX',
'c0-id'=>0,
'batchId'=>2,
)));
$matches=array();
$data = curl_exec($ch);
//从data里面解析,可以用正则,更好的是用xml,这里用着正则为例子,解析一个红色的部分,其他的你自己补充一下
$html = preg_match('/_remoteHandleCallback\((.+)\);/',$data,$matches);
$html = preg_match('/>([0-9.]+)<\/font>/',$matches[1],$matches);
print_r($matches[1]);
这篇关于javascript - 求指教怎么获取该网页动态数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文