go 爬取 baidu+weibo+zhihu 热搜数据

2019-09-24 17:07:53 +08:00
 lake325
https://github.com/mjrao/hotso

样例演示接口返回 json 数据,可在 chrome 中安装 json formatter 获得极简的热搜体验
3184 次点击
所在节点    程序员
15 条回复
lake325
2019-09-24 17:16:14 +08:00
有关注热搜需求的可以浏览器 收藏夹收藏

微博: http://121.41.23.201:8806/hotso/v1/hotso/weibo/json/20
百度: http://121.41.23.201:8806/hotso/v1/hotso/baidu/json/20
知乎: http://121.41.23.201:8806/hotso/v1/hotso/zhihu/json/20

一小时更新一次数据
lake325
2019-09-24 19:19:34 +08:00
url 后面数字对应你想取的数据条数
evilic
2019-09-25 09:52:42 +08:00
直接写个 workflow (捷径)获取数据并显示,然后分享也来吧。
hebin
2019-09-25 09:58:00 +08:00
fork 了一份学习了 谢谢老哥
lake325
2019-09-25 10:08:35 +08:00
http://121.41.23.201:8806/hotso/v1/hotword/weibo/json/100

http://121.41.23.201:8806/hotso/v1/hotword/baidu/json/100

通过结巴分词将热搜分词得到的数据,每天统计一次,数据递增(采用的是默认字典,精确模式)
lake325
2019-09-25 10:10:43 +08:00
@evilic 仓库的 readme 有介绍
Vegetable
2019-09-25 10:16:03 +08:00
你就不能 encodePretty 返回吗...
lake325
2019-09-25 10:40:27 +08:00
@Vegetable 已改
Vegetable
2019-09-25 12:13:04 +08:00
@lake325 舒服了~
Vegetable
2019-09-25 12:17:56 +08:00
@lake325 还有一个问题,golang 的 urlencode 库会吧&encode 成\u0026 而不是%26,具体为什么会这样我也不太清楚,但是这个地址复制出来直接粘贴到地址栏浏览器是识别不了&的.你可以考虑处理一下这个
Vegetable
2019-09-25 12:25:26 +08:00
哦不对,%26 也不行,这个必须是&本身才行.
Vegetable
2019-09-25 12:44:44 +08:00
这个问题是 go 默认的 json encoder 会将&转义掉造成的,我看了一下
```
package main

import (
"bytes"
"encoding/json"
"fmt"
)

func main() {
b := new(bytes.Buffer)
enc := json.NewEncoder(b)
enc.SetEscapeHTML(false)
enc.SetIndent("", " ")
enc.Encode(map[string]interface{}{"a": "&"})
fmt.Println(b.String())
}

```
这样可以解决这个问题.
lake325
2019-09-25 13:58:43 +08:00
@Vegetable 已解决
liangxunli
2019-09-25 14:09:14 +08:00
收藏了
csidez
2019-12-13 13:06:48 +08:00
大佬,url 可以做成链接吗,一点就新 tap 页访问。现在的需要复制过去看

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/603778

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX