PHP curl 抓取AJAX异步内容示例


Posted in PHP onSeptember 09, 2014

其实抓ajax异步内容的页面和抓普通的页面区别不大。ajax只不过是做了一次异步的http请求,只要使用firebug类似的工具,找到请求的后端服务url和传值的参数,然后对该url传递参数进行抓取即可。

利用Firebug的网络工具

PHP curl 抓取AJAX异步内容示例

如果抓去的是页面,则内容中没有显示的数据,是一堆JS代码。

PHP curl 抓取AJAX异步内容示例

Code

$cookie_file=tempnam('./temp','cookie');
$ch = curl_init();
$url1 = "http://www.cdut.edu.cn/default.html";
curl_setopt($ch,CURLOPT_URL,$url1);
curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_ENCODING ,'gzip'); //加入gzip解析
//设置连接结束后保存cookie信息的文件
curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file);
$content=curl_exec($ch);

curl_close($ch);

$ch3 = curl_init();
$url3 = "http://www.cdut.edu.cn/xww/dwr/call/plaincall/portalAjax.getNewsXml.dwr";
$curlPost = "callCount=1&page=/xww/type/1000020118.html&httpSessionId=12A9B726E6A2D4D3B09DE7952B2F282C&scriptSessionId=295315B4B4141B09DA888D3A3ADB8FAA658&c0-scriptName=portalAjax&c0-methodName=getNewsXml&c0-id=0&c0-param0=string:10000201&c0-param1=string:1000020118&c0-param2=string:news_&c0-param3=number:5969&c0-param4=number:1&c0-param5=null:null&c0-param6=null:null&batchId=0";
curl_setopt($ch3,CURLOPT_URL,$url3);
curl_setopt($ch3,CURLOPT_POST,1);
curl_setopt($ch3,CURLOPT_POSTFIELDS,$curlPost);

//设置连接结束后保存cookie信息的文件
curl_setopt($ch3,CURLOPT_COOKIEFILE,$cookie_file); 
$content1=curl_exec($ch3);
curl_close($ch3);
PHP 相关文章推荐
ajax php 实现写入数据库
Sep 02 PHP
Php Image Resize图片大小调整的函数代码
Jan 17 PHP
PHP 文件系统详解
Sep 13 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
Aug 09 PHP
php动态生成函数示例
Mar 21 PHP
微信公众平台实现获取用户OpenID的方法
Apr 15 PHP
php根据日期显示所在星座的方法
Jul 13 PHP
zend framework中使用memcache的方法
Mar 04 PHP
PHP中功能强大却很少使用的函数实例小结
Nov 10 PHP
浅析php中array_map和array_walk的使用对比
Nov 20 PHP
thinkPHP中U方法加密传递参数功能示例
May 29 PHP
PHP SESSION机制的理解与实例
Mar 22 PHP
php通过隐藏表单控件获取到前两个页面的url
Sep 09 #PHP
PHP利用MySQL保存session的实现思路及示例代码
Sep 09 #PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
Sep 09 #PHP
thinkphp在模型中自动完成session赋值示例代码
Sep 09 #PHP
PHP使用Mysql事务实例解析
Sep 08 #PHP
PHP闭包实例解析
Sep 08 #PHP
PHP数组排序之sort、asort与ksort用法实例
Sep 08 #PHP
You might like
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
2009/09/30 PHP
PHP使用正则表达式清除超链接文本
2013/11/12 PHP
PHP微信公众号开发之微信红包实现方法分析
2017/07/14 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
基于jQuery的的一个隔行变色,鼠标移动变色的小插件
2010/07/06 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
获取offsetTop和offsetLeft值的js代码(兼容)
2013/04/16 Javascript
javascript将浮点数转换成整数的三个方法
2014/06/23 Javascript
javascript的document.referrer浏览器支持、失效情况总结
2014/07/18 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
JavaScript中的关联数组问题
2015/03/04 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
2015/11/24 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
原生JS实现N级菜单的代码
2017/05/21 Javascript
JS获取子、父、兄节点方法小结
2017/08/14 Javascript
Vue.js实现数据响应的方法
2018/08/13 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
js实现抽奖功能
2020/11/24 Javascript
[10:07]2014DOTA2国际邀请赛 实拍选手现场观战DK对阵Titan
2014/07/12 DOTA
在Linux下调试Python代码的各种方法
2015/04/17 Python
浅谈python为什么不需要三目运算符和switch
2016/06/17 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
python实现得到当前登录用户信息的方法
2019/06/21 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
如何基于python实现不邻接植花
2020/05/01 Python
荷兰皇家航空公司官方网站:KLM Royal Dutch Airlines
2017/12/07 全球购物
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
政治思想表现评语
2014/05/04 职场文书
妇女工作先进事迹
2014/08/17 职场文书
2015年九一八事变纪念日演讲稿
2015/03/19 职场文书
妈妈别哭观后感
2015/06/08 职场文书
运动会通讯稿600字
2015/07/20 职场文书
新农村建设指导员工作总结
2015/08/13 职场文书
《狮子和鹿》教学反思
2016/02/16 职场文书