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