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 相关文章推荐
在windows iis5下安装php4.0+mysql之我见
Oct 09 PHP
第十一节--重载
Nov 16 PHP
PHP远程连接MYSQL数据库非常慢的解决方法
Jul 05 PHP
php获取域名的google收录示例
Mar 24 PHP
php绘图之生成饼状图的方法
Jan 24 PHP
PHP实现支持SSL连接的SMTP邮件发送类
Mar 05 PHP
php短网址和数字之间相互转换的方法
Mar 13 PHP
PHP中的随机性 你觉得自己幸运吗?
Jan 22 PHP
深入浅析PHP无限极分类的案例教程
May 09 PHP
phpinfo无法显示的原因及解决办法
Feb 15 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
Jun 12 PHP
如何理解PHP核心特性命名空间
May 28 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
福利彩票幸运号码自动生成器
2006/10/09 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
php验证码的制作思路和实现方法
2015/11/12 PHP
PHP多维数组遍历方法(2种实现方法)
2015/12/10 PHP
CI框架入门之MVC简单示例
2016/11/21 PHP
php常用正则函数实例小结
2016/12/29 PHP
基于php解决json_encode中文UNICODE转码问题
2020/11/10 PHP
模仿JQuery.extend函数扩展自己对象的js代码
2009/12/09 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
js超时调用setTimeout和间歇调用setInterval实例分析
2015/01/28 Javascript
跟我学习javascript的prototype使用注意事项
2015/11/17 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
2016/05/15 Javascript
利用Node.js了解与测量HTTP所花费的时间详解
2017/09/22 Javascript
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
浅析python协程相关概念
2018/01/20 Python
Python退火算法在高次方程的应用
2018/07/26 Python
详解重置Django migration的常见方式
2019/02/15 Python
对python 中class与变量的使用方法详解
2019/06/26 Python
详解python算法常用技巧与内置库
2020/10/17 Python
用css3写出气球样式的示例代码
2017/09/11 HTML / CSS
巴西最大的玩具连锁店:Ri Happy
2020/06/17 全球购物
咖啡书吧创业计划书
2014/01/13 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
作风整顿剖析材料
2014/09/30 职场文书
质量负责人岗位职责
2015/02/15 职场文书
领导新年致辞2016
2015/07/29 职场文书
宾馆卫生管理制度
2015/08/06 职场文书
幼儿园教师辞职信
2019/06/21 职场文书
诚信高考倡议书
2019/06/24 职场文书
Python包管理工具pip的15 个使用小技巧
2021/05/17 Python
用React Native制作一个简单的游戏引擎
2021/05/27 Javascript