抓取網站資料~

(本篇只適合會寫程式的宅宅~~~中高手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

沒有留言:

發佈留言