最近在寫爬站的東西,有一些心得
覺得,程式設計師,與其coding 能力要好、知識要豐富之外
要針對事情的邏輯要有深刻的見解才行。
因為在錯誤架構下所作的事情,所謂效率
也只是不精確的結果更快地出現而已
所以程式設計師一定要有目的取向的個性。
太浪漫,終究只能留給其他角色,例如PM或是企劃…
爬站,通常來自需要一個網站的資料
也許是這個網站的所有商品
這個站的所有商品類別、階層
所有聯絡人
所有店家與聯絡方式。
因為接觸到的案子總是被要求" 這個網站 " 的" 所有 " " XXX "
所以,架構一定會參考這樣的格局。
關於"這個網站"
我自己預設的解釋是同domain、同主機。所以 http://tw.movie.yahoo.com/ 跟 http://tw.news.yahoo.com/
那" 所有 “呢?
我目前的理解,且能夠達成的目標是" 網頁上顯示的連結 "
有些網頁,如果是孤兒,沒有被任何網頁作超連結
我是不會在URL作暴力破解的,坦白說我也不太會。
人家如果藏起來一定是有道理的嘛
此外,而HTML之中,可以有超連結的方式我目前是理解有三種"a 標籤的 href “、"img 標籤的href “、" img 標籤的map href "
有了所有的link
我就可以利用curl過濾所有的網頁。
抓到所要的資料了。
而有時候我要的資料是在很深的網頁階層裡面。
要爬到很後來才會爬到。
所以,我爬回來的網址,說實話,大部份我都沒有用到。
我必須進行過濾的重作,精粹出我要的網址。
再針對這些網址進行解析HTML的工作。