PHP curl 抓取AJAX異步內(nèi)容示例
其實(shí)抓ajax異步內(nèi)容的頁(yè)面和抓普通的頁(yè)面區(qū)別不大。ajax只不過(guò)是做了一次異步的http請(qǐng)求,只要使用firebug類似的工具,找到請(qǐng)求的后端服務(wù)url和傳值的參數(shù),然后對(duì)該url傳遞參數(shù)進(jìn)行抓取即可。
利用Firebug的網(wǎng)絡(luò)工具
如果抓去的是頁(yè)面,則內(nèi)容中沒(méi)有顯示的數(shù)據(jù),是一堆JS代碼。
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解析 //設(shè)置連接結(jié)束后保存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); //設(shè)置連接結(jié)束后保存cookie信息的文件 curl_setopt($ch3,CURLOPT_COOKIEFILE,$cookie_file); $content1=curl_exec($ch3); curl_close($ch3);
- PHP框架Laravel中實(shí)現(xiàn)supervisor執(zhí)行異步進(jìn)程的方法
- 4種PHP異步執(zhí)行的常用方式
- PHP ajax 異步執(zhí)行不等待執(zhí)行結(jié)果的處理方法
- PHP 異步執(zhí)行方法,模擬多線程的應(yīng)用分析
- 基于PHP異步執(zhí)行的常用方式詳解
- 深入PHP異步執(zhí)行的詳解
- 實(shí)現(xiàn)PHP多線程異步請(qǐng)求的3種方法
- php異步多線程swoole用法實(shí)例
- 利用ThinkPHP內(nèi)置的ThinkAjax實(shí)現(xiàn)異步傳輸技術(shù)的實(shí)現(xiàn)方法
- PHP的Laravel框架中使用消息隊(duì)列queue及異步隊(duì)列的方法
- PHP編程實(shí)現(xiàn)腳本異步執(zhí)行的方法
相關(guān)文章
解析WordPress中的post_class與get_post_class函數(shù)
這篇文章主要介紹了WordPress中的post_class與get_post_class函數(shù),包括post_class()的PHP源碼的相應(yīng)介紹,需要的朋友可以參考下2016-01-01php discuz 主題表和回帖表的設(shè)計(jì)
看看網(wǎng)上優(yōu)秀程序的源碼,分析優(yōu)缺點(diǎn),快速提高我們的水平。2009-03-03PHP實(shí)現(xiàn)登錄的Cookie存儲(chǔ)方案詳解
這篇文章主要介紹了PHP實(shí)現(xiàn)登錄的Cookie存儲(chǔ)方案詳解的相關(guān)資料,需要的朋友可以參考下2023-02-02php中刪除數(shù)組的第一個(gè)元素和最后一個(gè)元素的函數(shù)
這篇文章主要介紹了php中刪除數(shù)組的第一個(gè)元素和最后一個(gè)元素的函數(shù),需要的朋友可以參考下2015-03-03PHP數(shù)組對(duì)象與Json轉(zhuǎn)換操作實(shí)例分析
這篇文章主要介紹了PHP數(shù)組對(duì)象與Json轉(zhuǎn)換操作,結(jié)合實(shí)例形式分析了php數(shù)組對(duì)象與json相互轉(zhuǎn)換的實(shí)現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下2019-10-10簡(jiǎn)介PHP的Yii框架中緩存的一些高級(jí)用法
這篇文章主要介紹了PHP的Yii框架中緩存的一些高級(jí)用法,包括頁(yè)面緩存與會(huì)話緩存限制器等內(nèi)容,需要的朋友可以參考下2016-03-03PHP實(shí)現(xiàn)的簡(jiǎn)單網(wǎng)絡(luò)硬盤
這篇文章主要介紹了PHP實(shí)現(xiàn)的簡(jiǎn)單網(wǎng)絡(luò)硬盤,涉及php動(dòng)態(tài)創(chuàng)建文件夾及文件上傳的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07