zoukankan      html  css  js  c++  java
  • PHPcurl抓取AJAX异步内容(转载)

    PHPcurl抓取AJAX异步内容

    其实抓ajax异步内容的页面和抓普通的页面区别不大。ajax只不过是做了一次异步的http请求,只要使用firebug类似的工具,找到请求的后端服务url和传值的参数,然后对该url传递参数进行抓取即可。

    利用Firebug的网络工具                                                              

    image

    如果抓去的是页面,则内容中没有显示的数据,是一堆JS代码。

    image

    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);

    我是天王盖地虎的分割线                                                             

  • 相关阅读:
    HDU 1874 畅通工程续(dijkstra)
    HDU 2112 HDU Today (map函数,dijkstra最短路径)
    HDU 2680 Choose the best route(dijkstra)
    HDU 2066 一个人的旅行(最短路径,dijkstra)
    关于测评机,编译器,我有些话想说
    测评机的优化问题 时间控制
    CF Round410 D. Mike and distribution
    数字三角形2 (取模)
    CF Round410 C. Mike and gcd problem
    CF Round 423 D. High Load 星图(最优最简构建)
  • 原文地址:https://www.cnblogs.com/xchsp/p/4287800.html
Copyright © 2011-2022 走看看