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 相关文章推荐
discuz Passport 通行证 整合笔记
Jun 30 PHP
Yii PHP Framework实用入门教程(详细介绍)
Jun 18 PHP
php使用google地图应用实例
Dec 31 PHP
php实现redis数据库指定库号迁移的方法
Jan 14 PHP
WIN8.1下搭建PHP5.6环境
Apr 29 PHP
Symfony2之session与cookie用法小结
Mar 18 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
Nov 28 PHP
PHP与SQL语句常用大全
Dec 10 PHP
php中get_magic_quotes_gpc()函数说明
Feb 06 PHP
php获取excel文件数据
Apr 21 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
Nov 14 PHP
PHP7变量处理机制修改
Mar 09 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
浅谈ThinkPHP的URL重写
2014/11/25 PHP
php将文本文件转换csv输出的方法
2014/12/31 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
两种方法实现文本框输入内容提示消失
2013/03/17 Javascript
jQuery制作仿腾讯web qq用户体验桌面
2013/08/20 Javascript
JS禁用浏览器退格键实现思路及代码
2013/10/29 Javascript
js 判断控件获得焦点的示例代码
2014/03/04 Javascript
js动态创建标签示例代码
2014/06/09 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
jQuery实现带分组数据的Table表头排序实例分析
2015/11/24 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
2017/05/12 Javascript
bootstrap table单元格新增行并编辑
2017/05/19 Javascript
React Native使用百度Echarts显示图表的示例代码
2017/11/07 Javascript
浅谈PDF.js使用心得
2018/06/07 Javascript
vue 使某个组件不被 keep-alive 缓存的方法
2018/09/21 Javascript
微信小程序实现九宫格抽奖
2020/04/15 Javascript
判断“命令按钮”是否被鼠标单击详解
2019/07/31 Javascript
如何使用jQuery操作Cookies方法解析
2020/09/08 jQuery
Django中使用celery完成异步任务的示例代码
2018/01/23 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
在Python dataframe中出生日期转化为年龄的实现方法
2018/10/20 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
2019/08/02 Python
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
Html5写一个简单的俄罗斯方块小游戏
2019/12/03 HTML / CSS
几个人围成一圈的问题
2013/09/26 面试题
五十岁生日宴会答谢词
2014/01/15 职场文书
端午节活动策划方案
2014/03/09 职场文书
房地产活动策划方案
2014/05/14 职场文书
三好学生个人先进事迹材料
2014/05/17 职场文书
党支部对转正的意见
2015/06/02 职场文书
电影雨中的树观后感
2015/06/15 职场文书
2016年精神文明建设先进个人事迹材料
2016/02/29 职场文书
Apache Hudi 加速传统的批处理模式
2022/04/24 Servers