Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/LeiHao0/GO-ZhihuDaily

Zhihu Daily Web GoLang
https://github.com/LeiHao0/GO-ZhihuDaily

Last synced: 13 days ago
JSON representation

Zhihu Daily Web GoLang

Awesome Lists containing this project

README

        

## 最后更新:2016-12-05

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

>发件人: 知乎
日期: 2015年3月31日 下午2:54
主题: 致盗版网站“知乎日报”的警告函
收件人: [email protected]

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

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

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

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

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

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

>知乎法务部

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

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

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

# GO-ZhihuDaily

# [知乎日报 Web版(GoLang实现)](http://zhihudaily.ahorn.me/)

点上面的链接可以跳转

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

## USAGE

#### ImageMagick
需要用到`ImageMagick` 的 `convert` 命令来裁剪官方图片

Linux:
```bash
yum install imagemagick
```

OSX:
[ImageMagick](http://www.imagemagick.org/script/binary-releases.php#macosx)

#### 启动:

```bash
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(点击看大图):

![](http://cl.ly/image/013N0v0H2g3i/WEB%E7%9F%A5%E4%B9%8E%E6%97%A5%E6%8A%A5.png)

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

## License

GNU GENERAL PUBLIC LICENSE

- - -

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

## 开发日志

2016-05-27

由 Martini 升级到 Gin

---

2015-02-14 19:36:11

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

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

不过刚刚发现,又跑到第二去了(第一个自然是官方哒)
![](http://cl.ly/image/0W0f1N1S1R14/zhihudaily_google.png)

---
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` 中只要把:
```go
r.HTML(200, "content", XXX)
```
改成:
```go
r.JSON(200, XXX)
```
就万事大吉了

真心方便\~\~\~

---

2014-05-19 18:14:09

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

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

![](http://cl.ly/image/323T2B2u0e18/GO-ZhihuDaily-1.png)
我下了一跳,经咨询发现她有厌世情绪,怪不得都是黑白的

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

- - -

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都是蹭朋友的
太惨了

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