課程
/后端開發(fā)
/PHP
/PHP中的數(shù)據(jù)傳輸神器cURL
老師,我遇到一個問題,我抓取的網(wǎng)頁里引用了其它框架,例如frame src="/menu/top.jsp" 此時,抓取回來的網(wǎng)頁是沒有這些的,也就是網(wǎng)頁并不能正常的顯示,請問該如何解決?
謝謝。
2014-08-17
源自:PHP中的數(shù)據(jù)傳輸神器cURL 2-4
正在回答
只能夠單獨抓取,這個是硬傷。比如頁面當中的數(shù)據(jù)如果是通過Ajax來動態(tài)獲取的話,curl也是無法拿到這些動態(tài)數(shù)據(jù)的。這兩點應該說是curl的使用限制。
對于你這個情況,如果能夠知道這個frame的url,那么直接抓取它也許就能夠幫助你解決這個問題了。如果完整數(shù)據(jù)是合并起來的,也就是一部分數(shù)據(jù)在當前頁面,一部分在frame里面。那么就只能先抓取當前頁面,然后解析當前頁面的html,找到這個frame的src,然后再次抓取這個frame的page,最后把兩個頁面的數(shù)據(jù)合并起來。
舉報
cURL就是這樣的利器,可以幫助大家操作各種網(wǎng)絡資源
3 回答
2 回答
1 回答
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2014-08-25
只能夠單獨抓取,這個是硬傷。比如頁面當中的數(shù)據(jù)如果是通過Ajax來動態(tài)獲取的話,curl也是無法拿到這些動態(tài)數(shù)據(jù)的。這兩點應該說是curl的使用限制。
對于你這個情況,如果能夠知道這個frame的url,那么直接抓取它也許就能夠幫助你解決這個問題了。如果完整數(shù)據(jù)是合并起來的,也就是一部分數(shù)據(jù)在當前頁面,一部分在frame里面。那么就只能先抓取當前頁面,然后解析當前頁面的html,找到這個frame的src,然后再次抓取這個frame的page,最后把兩個頁面的數(shù)據(jù)合并起來。