使用php方法curl抓取AJAX異步內(nèi)容思路分析及代碼分享
其實(shí)抓ajax異步內(nèi)容的頁(yè)面和抓普通的頁(yè)面區(qū)別不大。ajax只不過(guò)是做了一次異步的http請(qǐng)求,只要使用firebug類(lèi)似的工具,找到請(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使用curl和正則表達(dá)式抓取網(wǎng)頁(yè)數(shù)據(jù)示例
- 使用PHP curl模擬瀏覽器抓取網(wǎng)站信息
- PHP CURL模擬登錄新浪微博抓取頁(yè)面內(nèi)容 基于EaglePHP框架開(kāi)發(fā)
- PHP curl實(shí)現(xiàn)抓取302跳轉(zhuǎn)后頁(yè)面的示例
- PHP curl 抓取AJAX異步內(nèi)容示例
- PHP中使用CURL偽造來(lái)路抓取頁(yè)面或文件
- php使用curl抓取qq空間的訪客信息示例
- php利用curl抓取新浪微博內(nèi)容示例
- PHP使用CURL實(shí)現(xiàn)多線程抓取網(wǎng)頁(yè)
- php curl抓取網(wǎng)頁(yè)的介紹和推廣及使用CURL抓取淘寶頁(yè)面集成方法
- php下通過(guò)curl抓取yahoo boss 搜索結(jié)果的實(shí)現(xiàn)代碼
- php通過(guò)curl添加cookie偽造登陸抓取數(shù)據(jù)的方法
- php使用curl代理實(shí)現(xiàn)抓取數(shù)據(jù)的方法
相關(guān)文章
php+jQuery+Ajax簡(jiǎn)單實(shí)現(xiàn)頁(yè)面異步刷新
這篇文章主要為大家詳細(xì)介紹了php+jQuery+Ajax簡(jiǎn)單實(shí)現(xiàn)頁(yè)面異步刷新,,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08TP5(thinkPHP5)框架基于ajax與后臺(tái)數(shù)據(jù)交互操作簡(jiǎn)單示例
這篇文章主要介紹了TP5(thinkPHP5)框架基于ajax與后臺(tái)數(shù)據(jù)交互操作,結(jié)合實(shí)例形式分析了thinkPHP5前端基于jQuery的ajax數(shù)據(jù)提交及后臺(tái)數(shù)據(jù)接收、處理相關(guān)操作技巧,需要的朋友可以參考下2018-09-09大家須知簡(jiǎn)單的php性能優(yōu)化注意點(diǎn)
通過(guò)本文給大家介紹在什么情況下可能遇到性能問(wèn)題,php性能問(wèn)題的解決方向及優(yōu)化點(diǎn),對(duì)php性能優(yōu)化注意點(diǎn)相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-01-01php實(shí)現(xiàn)產(chǎn)品加入購(gòu)物車(chē)功能(1)
這篇文章主要為大家詳細(xì)介紹了php實(shí)現(xiàn)產(chǎn)品加入購(gòu)物車(chē)功能,具有一定的參考價(jià)值,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03從零開(kāi)始學(xué)YII2框架(一)通過(guò)Composer安裝Yii2框架
今天終于搞明白怎么安裝Yii2了。對(duì)于我這種小白來(lái)說(shuō)真是費(fèi)盡周折。下面來(lái)介紹下如何安裝Composer和如何使用Composer安裝Yii2。2014-08-08php使用ICQ網(wǎng)關(guān)發(fā)送手機(jī)短信
php發(fā)送手機(jī)短信實(shí)例代碼。2013-10-10