\n\n\n\n\n
...
",
image_source: "Yestone.com 版权图片库",
title: "瞎扯 · 如何正确地吐槽",
image: "http://pic2.zhimg.com/9fe062c07b11959a2dd47068e116a9d5.jpg",
share_url: "http://daily.zhihu.com/story/4760976",
js: [],
recommenders: [
{
avatar: "http://pic3.zhimg.com/449b2931521389e4fcbc31a0e2d9d896_m.jpg"
},
{
avatar: "http://pic1.zhimg.com/4e45f545ee8b194476d3131ca7f3a9c8_m.jpg"
},
{
avatar: "http://pic4.zhimg.com/6a682ab23_m.jpg"
}
],
ga_prefix: "052606",
section: {
thumbnail: "http://pic3.zhimg.com/a82322fc78dff305c3df43fcc4cb96c2.jpg",
id: 2,
name: "瞎扯"
},
type: 0,
id: 4760976,
css: [
"http://news.at.zhihu.com/css/news_qa.auto.css?v=1edab"
]
}
```
*分析:
|字段名|备注|
|---|---|
| body |`HTML`格式的新闻内容|
| image-source |图片的内容提供方。为了避免被起诉非法使用图片,在显示图片时最好附上其版权信息。|
| title |新闻标题|
| image |获得的图片同 `最新消息` 获得的图片分辨率不同。这里获得的是在文章浏览界面中使用的大图。|
| share_url |供在线查看内容与分享至 SNS 用的 URL|
| js | 供手机端的 WebView(UIWebView) 使用|
| recommenders | 推荐者 |
| -> avatar | 推荐者的头像 |
| ga_prefix | 供 Google Analytics 使用|
| section | 栏目 |
| -> thumbnail | 缩略图 |
| -> id | 栏目id|
| -> name | 栏目名称 |
| type | 新闻的类型|
| id | 新闻的 id|
| css | 供手机端的 WebView(UIWebView) 使用|
**可知,知乎日报的文章浏览界面利用 WebView(UIWebView) 实现**
* **特别注意**
在较为特殊的情况下,知乎日报可能将某个主题日报的站外文章推送至知乎日报首页。
* 响应实例:
```json
{
"theme_name": "电影日报",
"title": "五分钟读懂明星的花样昵称:一美、法鲨……",
"share_url": "http://daily.zhihu.com/story/3942319",
"js": [],
"ga_prefix": "052921",
"editor_name": "邹波",
"theme_id": 3,
"type": 1,
"id": 3942319,
"css": [
"http://news.at.zhihu.com/css/news_qa.6.css?v=b390f"
]
}
```
此时返回的 JSON 数据缺少 `body`,`iamge-source`,`image`,`js` 属性。多出 `theme_name`,`editor_name`,`theme_id` 三个属性。`type` 由 0 变为 1。
###4.5 新闻推荐者信息
* URL:`http://news-at.zhihu.com/api/4/story/#{id}/recommenders`
* 这个返回的就是某一篇新闻的推荐者的详细信息.
* 响应实例:
```json
{
"items": [
{
"index": 1,
"recommenders": [
{
"bio": "",
"zhihu_url_token": "90b373201c03b47548dcac5832da1a95",
"id": 1162,
"avatar": "http://pic1.zhimg.com/f81b942d0_m.jpg",
"name": "Wang Chris"
},
{
"bio": "Phys2CS",
"zhihu_url_token": "d2facf05b7138a6eb4631a161915f7d4",
"id": 629,
"avatar": "http://pic3.zhimg.com/9dfd356e2f137540439448fa25ef0ea6_m.jpg",
"name": "Badger"
},
{
"bio": "",
"zhihu_url_token": "75a591efecfd4c22a6fc778a38a90f8d",
"id": 69,
"avatar": "http://pic1.zhimg.com/428ce35d11440c08c83f46dbfe435a5c_m.jpg",
"name": "One Two"
},
{
"bio": "重新做人",
"zhihu_url_token": "4d2540e03e0e5e225f4817f7ff7fc389",
"id": 7895,
"avatar": "http://pic3.zhimg.com/816934c948f5e3cc781ecda1ece08c3e_m.jpg",
"name": "王RRR"
},
{
"bio": "金融菜鸟 音乐草根 技能点加歪",
"zhihu_url_token": "b929aa5072baae224a74a18b5bd65376",
"id": 2576,
"avatar": "http://pic4.zhimg.com/1814a1b987a44cc49a448268412dbe23_m.jpg",
"name": "酷冰"
},
{
"bio": "你读书少,不骗你骗谁。",
"zhihu_url_token": "1cd7424d0a7990aaff8e2ed24644992a",
"id": 369,
"avatar": "http://pic3.zhimg.com/bbb689a7a_m.jpg",
"name": "卞卡"
},
{
"bio": "智商捉不了鸡",
"zhihu_url_token": "794c4d35096ad3dafb802124cdd83294",
"id": 5778,
"avatar": "http://pic4.zhimg.com/131bb14f5a12920afc975b3833538027_m.jpg",
"name": "二核桃"
},
{
"bio": "软件工程师",
"zhihu_url_token": "93ce68e327ef290f84192014bbc168b2",
"id": 6519,
"avatar": "http://pic2.zhimg.com/5d55b2e8d_m.jpg",
"name": "戴威"
}
],
"author": {
"name": "灿妞儿"
}
},
{
"index": 2,
"recommenders": [
{
"bio": "",
"zhihu_url_token": "75a591efecfd4c22a6fc778a38a90f8d",
"id": 69,
"avatar": "http://pic1.zhimg.com/428ce35d11440c08c83f46dbfe435a5c_m.jpg",
"name": "One Two"
}
],
"author": {
"name": "Badger"
}
}
],
"item_count": 3
}
```
* 分析:
|字段名|备注|
|---|---|
| item_count |表示这篇日报里面有 几篇内容|
| items |表示推荐者信息|
| -->index |表示这个推荐信息对应的是日报中的第几篇内容|
| -->recommenders |推荐者信息|
| ---->bio |推荐者的个性备注|
| ---->zhihu_url_token | 用户的token |
| ---->id | 用户id |
| ---->avatar | 用户头像|
| ---->name | 用户名 |
| --> author | 第几篇内容对应的作者 |
| ----> name | 第几篇内容对应的作者的名字|
###5. 过往消息
* URL:`http://news.at.zhihu.com/api/4/news/before/{date}`
* 若果需要查询 11 月 18 日的消息,{date}的数字应为 20131119
* 知乎日报的生日为 2013 年 5 月 19 日,若 {date}数字小于 20130520 ,只会接收到空消息
* 响应实例:
```json
{
date: "20131118",
stories: [
{
title: "深夜食堂 · 我的张曼妮",
ga_prefix: "111822",
images: [
"http://p4.zhimg.com/7b/c8/7bc8ef5947b069513c51e4b9521b5c82.jpg"
],
type: 0,
id: 1747159
},
...
]
}
```
格式与前同,恕不再赘述
###6. 新闻额外信息
* URL: `http://news-at.zhihu.com/api/4/story-extra/#{id}`
* 输入新闻的ID,获取对应新闻的额外信息,如评论数量,所获的『赞』的数量。
* 响应实例:
```json
{
"long_comments": 0,
"popularity": 161,
"short_comments": 19,
"comments": 19,
}
```
* 分析:
|字段名|备注|
|---|---|
| long_comments |长评论总数|
| popularity |点赞总数|
| short_comments| 短评论总数|
| comments | 评论总数 |
###7. 新闻对应长评论查看
* URL: http://news-at.zhihu.com/api/4/story/#{id}/long-comments
* 使用在 `最新消息` 中获得的 `id`,传入#{id},得到长评论 JSON 格式的内容
* 最新的测试结果,一次只返回20条.找到显示全的方法了,调用 `http://news-at.zhihu.com/api/4/story/#{id}/long-comments/before/#{lasetId}` 就可以获取lasetId评论之前的的评论了,还是返回20个.不断的重复,就可以读取完成所有的评论
* 响应实例:
```json
{
"comments": [
{
"author": "EleganceWorld",
"id": 545442,
"content": "上海到济南,无尽的猪排盖饭… (后略)",
"likes": 0,
"time": 1413589303,
"avatar": "http://pic2.zhimg.com/1f76e6a25_im.jpg"
},
...
]
}
```
*分析:
|字段名|备注|
|---|---|
| comments |长评论列表,形式为数组(请注意,其长度可能为 0)|
| author |评论作者|
| id | 评论者的唯一标识符|
| content | 评论的内容 |
| likes | 评论所获『赞』的数量 |
| time | 评论时间 |
| avatar | 用户头像图片的地址 |
###8. 新闻对应短评论查看
* URL: `http://news-at.zhihu.com/api/4/story/#{id}/short-comments`
* 使用在 `最新消息` 中获得的 `id`,传入#{id},得到短评论 JSON 格式的内容
* 最新的测试结果,一次只返回20条.找到显示全的方法了,调用 `http://news-at.zhihu.com/api/4/story/#{id}/short-comments/before/#{lasetId}` 就可以获取lasetId评论之前的的评论了,还是返回20个.不断的重复,就可以读取完成所有的评论
* 响应实例:
```json
{
"comments": [
{
"author": "Xiaole说",
"id": 545721,
"content": "就吃了个花生米,呵呵",
"likes": 0,
"time": 1413600071,
"avatar": "http://pic1.zhimg.com/c41f035ab_im.jpg"
},
...
]
}
```
格式与前同,恕不再赘述
###9. 主题日报列表查看
* URL: http://news-at.zhihu.com/api/4/themes
* 响应实例:
```json
{
"limit": 1000,
"subscribed": [],
"others": [
{
"color": 15007,
"thumbnail": "http://pic3.zhimg.com/0e71e90fd6be47630399d63c58beebfc.jpg",
"description": "了解自己和别人,了解彼此的欲望和局限。",
"id": 13,
"name": "日常心理学"
}
...
]
}
```
* 分析:
|字段名|备注|
|---|---|
| limit |返回数目之限制(仅为猜测)|
| subscribed | 已订阅条目 |
| others | 其他条目|
| -> color | 颜色,作用未知 |
| -> thumbnail | 供显示的图片地址 |
| -> description | 主题日报的介绍 |
| -> id | 该主题日报的编号 |
| -> name | 供显示的主题日报名称 |
###10. 主题日报内容查看
* URL: http://news-at.zhihu.com/api/4/theme/#{id}
* 使用在 `主题日报列表查看` 中获得需要查看的主题日报的 id,赋值给#{id},得到对应主题日报 JSON 格式的内容
* 响应实例:
```json
{
"stories": [
{
"images": [
"http://pic4.zhimg.com/fabeb6ece13d1b4f3fecd484f475feeb_t.jpg"
],
"type": 2,
"id": 4759968,
"title": "你的密码保护问题真的安全吗?"
},
{
"images": [
"http://pic2.zhimg.com/969a13db3fad18b1d35ce9d3e2633ef1_t.jpg"
],
"type": 2,
"id": 4745004,
"title": "当DNS泄漏让VPN不再安全,我们该怎么办?"
},
...
],
"description": "把黑客知识科普到你的面前",
"background": "http://p4.zhimg.com/32/55/32557676e84fcfda4d82d9b8042464e1.jpg",
"color": 9699556,
"name": "互联网安全",
"image": "http://p4.zhimg.com/30/6f/306f3ab291c415f40fe4485b75627230.jpg",
"editors": [
{
"url": "http://www.zhihu.com/people/THANKS",
"bio": "FreeBuf.com 小编,专注黑客与极客",
"id": 65,
"avatar": "http://pic4.zhimg.com/ecd93e213_m.jpg",
"name": "THANKS"
},
{
"url": "http://www.zhihu.com/people/____",
"bio": "PKAV & Wooyun",
"id": 38,
"avatar": "http://pic1.zhimg.com/815b2ec82_m.jpg",
"name": "长短短"
},
...
],
"image_source": ""
}
```
* 分析:
|字段名|备注|
|---|---|
| stories |该主题日报中的文章列表|
| -> images | 图像地址(其类型为数组。请留意在代码中处理无该属性与数组长度为 0 的情况)|
| -> type | 类型,作用未知 |
| -> title |消息的标题|
| -> id |消息的id|
| description | 该主题日报的介绍|
| background | 该主题日报的背景图片(大图) |
| color | 颜色,作用未知 |
| name | 该主题日报的名称 |
| image | 背景图片的小图版本 |
| editors | 该主题日报的编辑(『用户推荐日报』中此项的指是一个空数组,在 App 中的主编栏显示为『许多人』,点击后访问该主题日报的介绍页面,请留意) |
| -> url | 主编的知乎用户主页|
| -> bio | 主编的个人简介 |
| -> id | 数据库中的唯一表示符 |
| -> avatar | 主编的头像 |
| -> name | 主编的姓名 |
| image_source | 图像的版权信息|