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 相关文章推荐
用PHP4访问Oracle815
Oct 09 PHP
php入门小知识
Mar 24 PHP
php allow_url_include的应用和解释
Apr 22 PHP
php urlencode()与urldecode()函数字符编码原理详解
Dec 06 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
Dec 25 PHP
php获取mysql字段名称和其它信息的例子
Apr 14 PHP
codeigniter集成ucenter1.6双向通信的解决办法
Jun 12 PHP
ThinkPHP空模块和空操作详解
Jun 30 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
Jul 04 PHP
Thinkphp3.2.3分页使用实例解析
Jul 28 PHP
php 截取utf-8格式的字符串实例代码
Oct 30 PHP
php实现自动生成验证码的实例讲解
Nov 17 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
DC宇宙的第一个英雄,堪称动漫史鼻祖,如今成为美国文化的象征
2020/04/09 欧美动漫
一个更简单的无限级分类菜单代码
2007/01/16 PHP
php获取某个目录大小的代码
2008/09/10 PHP
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
html静态页面调用php文件的方法
2014/11/13 PHP
PHP 实现类似js中alert() 提示框
2015/03/18 PHP
百万级别知乎用户数据抓取与分析之PHP开发
2015/09/28 PHP
JavaScript中实现继承的三种方式和实例
2015/01/29 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
2016/01/14 Javascript
使用jQuery给input标签设置默认值
2016/06/20 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
2017/01/23 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
Javascript之图片的延迟加载的实例详解
2017/07/24 Javascript
React Native自定义控件底部抽屉菜单的示例
2018/02/08 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
jQuery实现弹出层效果
2019/12/10 jQuery
Python中正则表达式的用法实例汇总
2014/08/18 Python
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
微信跳一跳游戏python脚本
2020/04/01 Python
django 外键model的互相读取方法
2018/12/15 Python
python笔记_将循环内容在一行输出的方法
2019/08/08 Python
Python之变量类型和if判断方式
2020/05/05 Python
Python调用jar包方法实现过程解析
2020/08/11 Python
Python+OpenCV检测灯光亮点的实现方法
2020/11/02 Python
新西兰廉价汽车租赁:Snap Rentals
2018/09/14 全球购物
总会计师岗位职责
2014/02/19 职场文书
小学清明节活动方案
2014/03/08 职场文书
干部考核评语
2014/04/29 职场文书
五水共治捐款倡议书
2014/05/14 职场文书
医生党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
农村党员对照检查材料
2014/09/24 职场文书
毕业论文答辩演讲稿
2015/06/23 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
节约用水广告语60条
2019/11/14 职场文书
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
2022/08/14 Python