使用php方法curl抓取AJAX异步内容思路分析及代码分享


Posted in PHP onAugust 25, 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 实现多服务器共享 SESSION 数据
Aug 15 PHP
PHP中static关键字原理的学习研究分析
Jul 18 PHP
php模板函数 正则实现代码
Oct 15 PHP
对象失去焦点时自己动提交数据的实现代码
Nov 06 PHP
php匹配字符中链接地址的方法
Dec 22 PHP
PHP使用PDO连接ACCESS数据库
Mar 05 PHP
php中smarty模板条件判断用法实例
Jun 11 PHP
PHP和C#可共用的可逆加密算法详解
Oct 26 PHP
PHP批量修改文件名称的方法分析
Feb 27 PHP
php中文乱码问题的终极解决方案汇总
Aug 01 PHP
php实现映射操作实例详解
Oct 02 PHP
PHP调用接口API封装的例子
Oct 11 PHP
简单分析ucenter 会员同步登录通信原理
Aug 25 #PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
Aug 25 #PHP
ThinkPHP查询返回简单字段数组的方法
Aug 25 #PHP
php防止伪造数据从地址栏URL提交的方法
Aug 24 #PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 #PHP
一个图片地址分解程序(用于PHP小偷程序)
Aug 23 #PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
Aug 23 #PHP
You might like
咖啡店都有些什么常规豆子呢?有什么风味在里面
2021/03/04 咖啡文化
php 数组排序 array_multisort与uasort的区别
2011/03/24 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
PHP magento后台无法登录问题解决方法
2016/11/24 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
引用外部脚本时script标签关闭的写法
2014/01/20 Javascript
jQuery判断元素上是否绑定了指定事件的方法
2015/03/17 Javascript
JavaScript实现基于十进制的四舍五入实例
2015/07/17 Javascript
jQuery拖动元素并对元素进行重新排序
2015/12/30 Javascript
JS判断字符串字节数并截取长度的方法
2016/03/05 Javascript
深入解析JavaScript中的立即执行函数
2016/05/21 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
jQuery Form插件使用详解_动力节点Java学院整理
2017/07/17 jQuery
JavaScript计算出两个数的差值
2020/03/19 Javascript
如何使用Javascript中的this关键字
2020/05/28 Javascript
python实现通过shelve修改对象实例
2014/09/26 Python
10种检测Python程序运行时间、CPU和内存占用的方法
2015/04/01 Python
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
Pycharm技巧之代码跳转该如何回退
2017/07/16 Python
python中字符串变二维数组的实例讲解
2018/04/03 Python
python将txt文件读取为字典的示例
2018/12/22 Python
class类在python中获取金融数据的实例方法
2020/12/10 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
用CSS禁用输入法(CSS3 UI规范)实例解析
2012/12/04 HTML / CSS
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
俄罗斯旅游网站:Tripadvisor俄罗斯
2017/03/21 全球购物
可打印的优惠券、杂货和优惠券代码:Coupons.com
2018/06/12 全球购物
anello泰国官方网站:日本流行包包品牌
2019/08/08 全球购物
SQL Server面试题
2013/04/04 面试题
汽车专业毕业生推荐信
2013/11/12 职场文书
英语自荐信范文
2013/12/11 职场文书
大学生职业生涯规划方案
2014/01/03 职场文书
《锄禾》教学反思
2014/04/08 职场文书
厨房领班竞聘演讲稿
2014/04/23 职场文书
市场调查策划方案
2014/06/10 职场文书
怎么禁用Win11输入法 最新Win11输入法关闭教程
2022/08/05 数码科技