(本篇只適合會寫程式的宅宅~~~中高手level~~XD)
由於某些原因我要想辦法抓某網站的一些資料.....
可是不是說抓就抓.............問題中的問題是AJAX的cross domain的問題
而那網站列出項目的清單頁面
是透過AJAX
不是打page=多少就輸出多少頁的結果
如果是這樣就好做了.........因為用PHP取該url的內容~就可以抓到資料再作解析...就偷出來了XD
也因為是AJAX........所以無法跨網域傳資料到我指定的位置
所以難題就在這= =
可是今天我跟張搞討論出了沒有辦法中的辦法XD
過程有點複雜........
用Firefox
要裝FireBug~~~再裝FireQuery
FireQuery是可以幫你包jQuery到目前網站~~~~~方便做事XD
新增一個iframe到網頁底部
然後.........開始解析資料...........
(有jQuery要抓網頁上的資料易如反掌~~XD)
一個個抓出來~~~~通通串起來~~~~~變成一個大字串
用GET參數的方式要求iframe
$jq('#shit').attr('src', 'http://xxxxxxxx:1234/xxxxx.php?data=' + data);
這樣就把資料傳到你要的位置了........不過是用GET參數
然後接資料那一端再把字串轉成陣列~~~~寫資料庫
做到這只抓了該頁的資料
由於這網頁只要改hash她就會自動換頁抓資料.........不錯方便XD
所以抓完資料要求iframe網址之後~~~~~~改hash~~~~讓他取下一頁資料
用timeout等待~~~~~因為AJAX不是說要馬上就有
我是設個8秒~~~~~~~再重複做一次上面的動作~~~
不斷repeat
就通通抓完了XD
沒有留言:
發佈留言