關于gank.io
這是一個干貨分享的網站,組織者是@代碼家,是Android開發好手,據他自己說后端也很強。網站后臺使用Node.js搭建的,使用了DaoCloud。
網站宗旨想必就是header中的:每日分享妹子圖 和 技術干貨,還有供大家中午休息的休閑視頻。(呵呵呵)然后干貨的主要內容是移動開發中的Android和IOS干貨,包括各種小技巧、開源代碼、相關技術、新聞信息等等。不對,我說錯了,干貨的主要內容應該是每頁開頭的妹紙妹紙妹紙(重要的事情要說三遍)和有時候會喪心病狂的休閑視頻。
總之干貨很干。
為什么要爬
說來也不知怎么說,就是想爬吧。仔細再想的話,可能一來gank.io網站并未對內容進行歸檔和整理,就像一本書,但是沒目錄。具體情況點進去看就知道了。不過@代碼家說了之后會升級的。二來的當時閑著也是閑著,想自己做點好玩感覺有意思的事情,順便看看自己做不做得出來。有點夏天想吃西瓜,買西瓜子來種的意味。
結果分享展示
這是爬取的結果:存儲在七牛云

這是爬取的托管代碼:github
爬取過程介紹
爬取目的
將所有gank.io整合到一個html文件,并顯示歸檔目錄。
爬取語言
Java,引用jsoup包。但實際上沒使用好,更多的是字符處理了。
爬取思路
- 制作空html文件rawGet.html,該文件無主要內容,但主題和框架與gank.io相同,然后將內容拷貝到Get_gank.html中。
- 使用Java抓取gank.io每一個頁面源代碼,使用日期循環,不存在就跳過。
- 抓取同時解析出標題和正文,標題放入哈希表,正文追加到新建的content文件中。
- 抓取結束后將哈希表遍歷并以列表形式追加到Get_gank.html,形成前面的歸檔列表。然后將整個content內容追加到Get_gank.html中,然后就OK了。
- 當然只實現了Java本地抓取,為了讓大家看到結果,我人工將Get_gank.html傳到七牛云上的,所以它不會自動更新,還不知道怎樣實現在線抓取,有待研究和指教,望大神指明道路。
爬取總結
- 沒有做好思路整理,導致代碼結構一直混亂和時間的浪費。
- 以實現為目的,無代碼優化,但優化了思路。
- 值得高興的是做出來了自己沒事用來當資料庫收集查詢也不錯。
最后展望
努力將干貨轉換成知識和技能。努力欣賞每日妹紙,不,我應該追求更高一點才是。
最新一期的妹紙。

原文鏈接:http://www.lxxself.com/post/wo-de-zha-zha-ji-zhu/2015-06-21