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 相关文章推荐
一个用php3编写的简单计数器
Oct 09 PHP
php笔记之:文章中图片处理的使用
Apr 26 PHP
学习php过程中的一些注意点的总结
Oct 25 PHP
PHP四舍五入、取整、round函数使用示例
Feb 06 PHP
php动态生成缩略图并输出显示的方法
Apr 20 PHP
PHP常用设计模式之委托设计模式
Feb 13 PHP
php函数传值的引用传递注意事项分析
Jun 25 PHP
laravel5创建service provider和facade的方法详解
Jul 26 PHP
PHP 接入微信扫码支付总结(总结篇)
Nov 03 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
May 01 PHP
PHP实现通过二维数组键值获取一维键名操作示例
Oct 11 PHP
Laravel 6.2 中添加了可调用容器对象的方法
Oct 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截取汉字乱码问题解决方法mb_substr函数的应用
2008/03/30 PHP
PHP采用XML-RPC构造Web Service实例教程
2014/07/16 PHP
PHP获取当前页面URL函数实例
2014/10/22 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
jQuery与ExtJS之选择实例分析
2010/08/19 Javascript
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
对Jquery中的ajax再封装,简化操作示例
2014/02/12 Javascript
javascript中的3种继承实现方法
2016/01/27 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
2016/06/08 Javascript
JavaScript_object基础入门(必看篇)
2016/06/13 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
详解Angular 自定义结构指令
2017/06/21 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
微信小程序组件传值图示过程详解
2019/07/31 Javascript
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
vue 解决异步数据更新问题
2019/10/29 Javascript
vue使用原生swiper代码实例
2020/02/05 Javascript
python操作日期和时间的方法
2014/03/11 Python
浅析Python中将单词首字母大写的capitalize()方法
2015/05/18 Python
Python运行报错UnicodeDecodeError的解决方法
2016/06/07 Python
Python增量循环删除MySQL表数据的方法
2016/09/23 Python
Python实现购物程序思路及代码
2017/07/24 Python
单利模式及python实现方式详解
2018/03/20 Python
python使用pandas处理大数据节省内存技巧(推荐)
2019/05/05 Python
python之pyqt5通过按钮改变Label的背景颜色方法
2019/06/13 Python
python 修改本地网络配置的方法
2019/08/14 Python
Python随机数函数代码实例解析
2020/02/09 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
泰国折扣酒店预订:Hotels2Thailand
2018/03/20 全球购物
什么是.net的Remoting技术
2016/07/08 面试题
幼儿园消防安全制度
2014/01/26 职场文书
党的群众路线教育实践活动对照检查材料(四风)
2014/09/27 职场文书
HAM-2000摩机图
2021/04/22 无线电
golang判断key是否在map中的代码
2021/04/24 Golang
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers