关于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