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 相关文章推荐
php 友好URL的实现(吐血推荐)
Oct 04 PHP
php动态实现表格跨行跨列实现代码
Nov 06 PHP
php导入csv文件碰到乱码问题的解决方法
Feb 10 PHP
php教程之phpize使用方法
Feb 12 PHP
php获取网页请求状态程序示例
Jun 17 PHP
WordPress中is_singular()函数简介
Feb 05 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
Dec 21 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
Jan 07 PHP
提交表单后 PHP获取提交内容的实现方法
May 25 PHP
PHP数组实例详解
Jun 26 PHP
PHP实现中国公民身份证号码有效性验证示例代码
May 03 PHP
PHP进阶学习之类的自动加载机制原理分析
Jun 18 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
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
PHP下常用正则表达式整理
2010/10/26 PHP
php获得刚插入数据的id 的几种方法总结
2018/05/31 PHP
PHP中的自动加载操作实现方法详解
2019/08/06 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
JavaScript打开word文档的实现代码(c#)
2012/04/16 Javascript
JS文本框追加多个下拉框的值的简单实例
2013/07/12 Javascript
jquery scroll()区分横向纵向滚动条的方法
2014/04/04 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
2016/08/05 Javascript
详解能在多种前端框架下使用的表格控件
2017/01/11 Javascript
jQuery tip提示插件(实例分享)
2017/04/28 jQuery
angularJS利用ng-repeat遍历二维数组的实例代码
2017/06/03 Javascript
Ionic + Angular.js实现验证码倒计时功能的方法
2017/06/12 Javascript
使用jQuery实现简单的tab框实例
2017/08/22 jQuery
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
2017/11/17 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
2017/12/22 Javascript
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
JS对象属性的检测与获取操作实例分析
2020/03/17 Javascript
python通过ssh-powershell监控windows的方法
2015/06/02 Python
Python探索之ModelForm代码详解
2017/10/26 Python
Python wxpython模块响应鼠标拖动事件操作示例
2018/08/23 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
Python Opencv实现单目标检测的示例代码
2020/09/08 Python
进程的查看和调度分别使用什么命令
2013/12/14 面试题
工商管理专业学生的自我评价
2013/10/01 职场文书
微观物理专业自荐信
2014/01/26 职场文书
模具毕业生推荐信
2014/02/15 职场文书
怎样填写就业意向
2014/04/02 职场文书
法院反腐倡廉心得体会
2014/09/09 职场文书
团组织推优材料
2014/12/29 职场文书
2015年小学语文教师工作总结
2015/10/23 职场文书
Python机器学习实战之k-近邻算法的实现
2021/11/27 Python