/GO-ZhihuDaily

知乎日报 Web 版(Go 实现)

Primary LanguageGoGNU General Public License v2.0GPL-2.0

最后更新:2016-12-05

最近又挂了,我盆友查原因, 意外的在邮箱里发现:

发件人: 知乎 banquan@zhihu.com 日期: 2015年3月31日 下午2:54 主题: 致盗版网站“知乎日报”的警告函 收件人: xxx@gmail.com

致盗版“知乎日报”的网站开发者:

知乎法务部发现贵网站( http://zhihudaily.ahorn.me/ )擅自使用“知乎日报”为网站名称,且盗用正版知乎日报的图标,其恶劣的行为足以造成公众的混淆。

作为知识产权所有方,北京智者天下科技有限公司对“知乎日报”品牌享有一系列合法的权利。贵网站的开发者并未经智者天下公司、其代理或法律的授权,擅自使用智者天下公司经**工商行政管理总局商标局核准通过的“知乎日报”商标,利用了知乎业已形成的良好市场形象和广泛的影响力来取得关注,抢夺用户和市场,并借以获取不正当利益,违背了诚实守信的市场规则、《反不正当竞争法》及我国《商标法》的相关规定。

我们已聘请了专业律师,对此侵权行为将会在法律许可的范围内采取一切行动(包括但不限于举报、诉讼、公开曝光等手段),以维护知乎和用户的合法权利。目前我们已经收集到了足够的信息并进行了取证,在采取正式法律行动之前,希望你能认识到该网站存在的侵权问题,及时改正,在接到本函后 24 小时内删除和侵权有关的内容,并承诺不会再犯。

在贵司不答复或不能通过沟通解决的情况下,知乎将使用各种合理的手段维护合法权利。

知乎保证,本函中所述信息是充分、真实、准确的。如果本函内容不完全属实,知乎将承担由此产生的一切法律责任。

知乎法务部

时间 2015年3月31日... 我盆友完全没看到这封邮件,后来也没任何人联系我们...

弄这个的初衷在下面的 log 里,并且这只是个简单的预览,页面链接指向知乎,没挂广告,也没有任何盈利,没想到会造成这样的情况

现网页已删除,对此造成的误解表示抱歉

GO-ZhihuDaily

点上面的链接可以跳转

写这个的最初目的是因为PC上没有一个很好的阅读知乎日报的方式,而当时(2013)知乎上,官方又明确表示他们重点在移动端,web 木有开发的必要(好吧,后来他们也出了 →_→)
即那种一眼望过去,几天内的内容尽收眼底,然后点开自己感兴趣的 Title 继续阅读

USAGE

ImageMagick

需要用到ImageMagickconvert 命令来裁剪官方图片

Linux:

yum install imagemagick

OSX:
ImageMagick

启动:

cd GO-ZhihuDaily
go run main.go  

浏览器 URL:

0.0.0.0:8080

自带 API:

http://zhihudaily.ahorn.me/api/1 1 可以是 2 3 4 ...


API(点击看大图):

红色的已作废,蓝色的可以用

License

GNU GENERAL PUBLIC LICENSE


  1. 感谢 @faceair,他做了最早的web版(PHP)(API就是从他的代码里找到的)
  2. SQLite 存储 API 返回的 JSON 数据,减小访问官网次数
  3. 每小时更新一次当天数据
  4. Martini Gin 框架
  5. 蹭朋友的 VPS [貌似十分不稳定,动不动就 502 了,(好吧,是我的小程序不稳定)]

开发日志

2016-05-27

由 Martini 升级到 Gin


2015-02-14 19:36:11

让我比较吃惊的是,有次 Google '知乎日报',发现居然排在了第二
事实上每天的访问量也就几 k,也没打过广告,都是刚搭起来时的那些用户,没什么增长

不过几个月前 Google 换了算法,这个就跑到第二页去了
个人猜测页面除了文字和图片就没别的了,估计被误杀了,还小桑心了下

不过刚刚发现,又跑到第二去了(第一个自然是官方哒)


2014-09-01 09:41:36

服务已恢复

由于之前缓存的图片以及数据库全部木有了
这次需要首次启动

然后...我就知道 fork 这个项目的孩纸们的心情了 →_→
对不住泥们了

首先木有 main.db,我只好又用 sqlite3 创建了一个,以及两个 table (之前其实是有代码的,服务稳定后,我就删掉了...)

然后如果整个数据库为空,也木有去日爆官方去重新申请数据

现在这些问题已修复


2014-08-27 15:48:10

小伙伴 VPS 到期了,经过询问才知道 Linode 7月份就给他 Email 了,但他手头有点紧张,没续费...

好吧,当时这个就是为了自己在电脑上看才写的,属于玩具项目
但从 Google Analytics 的数据分析来看,这大半年来,每天都有近 200 人过来看一眼,周末时相对少些
我也没做过推广,所以基本上都是网页刚刚架好时的那些用户

所以在这里要对泥们说声对不起啦

这件事情也让我认识到,有时候云服务可能靠谱一点,虽然限制多多

吃一堑长一智,iOS 的后台服务,我就挂在 Heroku 上好了


2014-07-28

小环童鞋想把页面改个样式,但想用异步请求的方式练手
所以需要提供 JSON API

我记得不是很难,万万没想到 Martini 中只要把:

r.HTML(200, "content", XXX)

改成:

r.JSON(200, XXX)

就万事大吉了

真心方便~~~


2014-05-19 18:14:09

小伙伴 Misa 看到主页后,说 “加些透明度,鼠标效果什么的就赞了” 真是站着说话不腰疼, You can You UP ! 不想她居然来真的,还一边改一边嫌弃我代码写的丑(只限前端)

然后看她大刀阔斧的一劈,原来好好的主页就变成下面的样纸了

我下了一跳,经咨询发现她有厌世情绪,怪不得都是黑白的

过了两天我才反应过来,丫这个墓志铭主题原来是写了给我送终的啊啊啊


2014-04-28 15:01:48

原来所有的页面一下全部打印出来,丑死了

然后改了改
仍然很丑 →_→

怪不得有射击狮这个职位

只有用这句话安慰自己了:
长得丑不要紧,能用就行


2014-04-23

快俩月了,今天乍一看内存占用,以为又要爆
又在这**的优化,弄完了才发现把VmSize看成了VmRSS

不过,之前4.5+%, 现在0.9%,缩小成大约原来的五分之一吧

也好


2014-03-28

挂挂挂,总是挂 开始以为是并发
仔细检查发现居然是checkerr内部爆出panic
[呃……]σ(-_-メ) ,搞什么

go好牛逼,两步一err,三步一check


2014-03-26

也没人issues我,知乎上发现有人评论才发现 又 502 了
大惊,肿么又挂了啊...

找BUG的过程中不停的想起《代码大全》里的一句话:

写的时候只有我和上帝知道是什么意思,而现在只有上帝知道了

还好最后发现是日爆API改了,没有分享的图片了,招致臭名昭著的空指针

话说这么老早的API了,还变JSON字段,还让不让我等P民活了丫


2014-03-09

直接运行是只能下载裁剪当天的图片的,要在另一个地方调用
理论上我应该加个注释,然后重构精简下,再加个图片下载成功判断
但人都有惰性的,能跑就想着有时间再来好好优化
最最重要的原因是,最近失恋了( >﹏<),对不住fork的大家了


2014-03-05

convert crop了图片头部,缓存不到200M,载入页面也快了

PS: 后台有一些奇怪的数据,比如没访问主页/,直接跳到/page/62,还有一些老的跳转/url/**,是因为浏览器缓存吗?统统重定向到主页/去了


2014-03-04

我去,好像昨天图片全挂了,开始以为网络有问题
后来发现好像被知乎日报官方屏蔽了,图片403 forbidden

只有先换成了文字顶上

小伙伴伸出了援助之手,说图片缓存到他的VPS上好了

(他是不知道啊,为啥我之前酱紫做呢?一共6W多条记录,所有图片下下来高达2G多)

既然他说了,那就放上去好了 ( ≖‿≖)

加了个下载,递归二分,8个狗同时跑


2014-02-28

貌似内存已经稳定了

请轻拍


2014-02-25

V友太凶残了,先是502,下午论坛上发现后去SSH,发现进程已经没了,重开了一次
晚上看htop,发现又已经吃掉VPS 25%的内存(1G),然后小伙伴生气啦(๑′°︿°๑)

赶紧找BUG,这里改改那里动动,内存增速居然放缓了,赶紧先布上去再说

然后慢慢改,好像是查询数据库后没close,还有上次更新时间忘重新赋值了,还有...,还有... (┬_┬)
之后剥离判断,加了个自动更新

好不容易写个东东,那么简单还冒出来这么多问题,脸丢完了都╮(╯▽╰)╭

还好现在稳定了,据观察,一段时间后,内存不增反减

GC好神奇


2014-02-24

图省事先用图片代替了

后面考虑用文字,这样复制粘贴也容易点

好吧,是我HTML/CSS不会啊,写起来步步维艰,现在真心做不到(>_<)

希望做成的样纸是 OldReader 那样,左边一栏标题,右边内容,实现滚动阅读


以前没做过Web开发,边写边学GoLang/Git/HTML/CSS/GAE

( ⊙o⊙ )哇,这么多 '/'
弱爆了有木有

域名、VPS都是蹭朋友的 太惨了

( >﹏<。)~呜呜呜……