知乎日报 API 分析
声明
下面全部 API 均由 知乎(Zhihu.Inc) 提供,本人採取非正常手段获取。
获取与共享之行为或有侵犯知乎权益的嫌疑。若被告知需停止共享与使用。本人会及时删除此页面与整个项目。
请您暸解相关情况。并遵守知乎协议。
API
 说明
知乎日报的消息以 JSON 格式输出
网址中
api后数字代表 API 版本号,过高或过低均会得到错误信息较老的接口(启动界面图像获取。最新消息,过往消息)中将数字 2 替换为 1.2 获得效果同样。替换为 1.1 获得的是老版本号 API 输出的 JSON 格式(替换为更低,如 1.0,或更高。如 1.3,将会获得错误消息)
下面全部 API 使用的 HTTP Method 均为
GET
API
 分析
1.
 启动界面图像获取
- URL: 
http://news-at.zhihu.com/api/4/start-image/1080*1776 start-image后为图像分辨率,接受例如以下格式320*432480*728720*11841080*1776
响应实例:
{
text: "© Fido Dido",
img: "http://p2.zhimg.com/10/7b/107bb4894b46d75a892da6fa80ef504a.jpg"
}
分析:
text: 供显示的图片版权信息img: 图像的 URL
2.
 软件版本号查询
- Android: 
http://news-at.zhihu.com/api/4/version/android/2.3.0 - iOS: 
http://news-at.zhihu.com/api/4/version/ios/2.3.0 - URL 最后部分的数字代表所安装『知乎日报』的版本号
 响应实例:
软件为最新版本号时
{
"status": 0,
"latest": "2.2.0"
}
软件为较老版本号时
{
"status": 1,
"msg": "【更新内容】(后略)",
"latest": "2.2.0"
}
分析:
status: 0 代表软件为最新版本号,1 代表软件须要升级latest: 软件最新版本号的版本号号(数字的第二段会比最新的版本号号低 1)msg: 仅出如今软件须要升级的情形下。提示用户升级软件的对话框中显示的消息
3.
 最新消息
- URL: 
http://news-at.zhihu.com/api/4/news/latest 响应实例:
{
date: "20140523",
stories: [
{
title: "中国古代家具发展到今天有两个高峰,一个两宋一个明末(多图)",
ga_prefix: "052321",
images: [
"http://p1.zhimg.com/45/b9/45b9f057fc1957ed2c946814342c0f02.jpg"
],
type: 0,
id: 3930445
},
...
],
top_stories: [
{
title: "商场和非常多人家里。竹制家具越来越多(多图)",
image: "http://p2.zhimg.com/9a/15/9a1570bb9e5fa53ae9fb9269a56ee019.jpg",
ga_prefix: "052315",
type: 0,
id: 3930883
},
...
]
}
分析:
date: 日期stories: 当日新闻title: 新闻标题images: 图像地址(官方 API 使用数组形式。眼下暂未有使用多张图片的情形出现,曾见无
images属性的情况,请在使用中注意
)ga_prefix: 供 Google Analytics 使用type: 作用未知id:url与share_url中最后的数字(应为内容的
id)multipic: 消息是否包括多张图片(仅出如今包括多图的新闻中)
top_stories: 界面顶部 ViewPager 滚动显示的显示内容(子项格式同上)
4.
 消息内容获取与离线下载
- URL: 
http://news-at.zhihu.com/api/4/news/3892357 - 使用在 
最新消息中获得的id,拼接在http://news-at.zhihu.com/api/4/news/后,得到相应消息
JSON 格式的内容 响应实例:
{
body: "<div class="main-wrap content-wrap">...</div>",
image_source: "Yestone.com 版权图片库",
title: "深夜惊奇 · 朋友圈错觉",
image: "http://pic3.zhimg.com/2d41a1d1ebf37fb699795e78db76b5c2.jpg",
share_url: "http://daily.zhihu.com/story/4772126",
js: [ ],
recommenders": [
{ "avatar": "http://pic2.zhimg.com/fcb7039c1_m.jpg" },
{ "avatar": "http://pic1.zhimg.com/29191527c_m.jpg" },
{ "avatar": "http://pic4.zhimg.com/e6637a38d22475432c76e6c9e46336fb_m.jpg" },
{ "avatar": "http://pic1.zhimg.com/bd751e76463e94aa10c7ed2529738314_m.jpg" },
{ "avatar": "http://pic1.zhimg.com/4766e0648_m.jpg" }
],
ga_prefix: "050615",
section": {
"thumbnail": "http://pic4.zhimg.com/6a1ddebda9e8899811c4c169b92c35b3.jpg",
"id": 1,
"name": "深夜惊奇"
},
type: 0,
id: 4772126,
css: [
"http://news.at.zhihu.com/css/news_qa.auto.css?v=1edab"
]
}
分析:
body: HTML 格式的新闻image-source: 图片的内容提供方。为了避免被起诉非法使用图片,在显示图片时最好附上其版权信息。title: 新闻标题image: 获得的图片同最新消息获得的图片分辨率不同。这里获得的是在文章浏览界面中使用的大图。share_url: 供在线查看内容与分享至 SNS 用的 URLjs: 供手机端的 WebView(UIWebView) 使用recommenders: 这篇文章的推荐者ga_prefix: 供 Google Analytics 使用section: 栏目的信息thumbnail: 栏目的缩略图id: 该栏目的idname: 该栏目的名称
type: 新闻的类型id: 新闻的 idcss: 供手机端的 WebView(UIWebView) 使用- 可知,知乎日报的文章浏览界面利用 WebView(UIWebView) 实现
 
特别注意
在较为特殊的情况下。知乎日报可能将某个主题日报的站外文章推送至知乎日报首页。响应实例:
{
"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。image-source,image,js属性。多出
theme_name。editor_name,theme_id三个属性。type由0变为1。
5.
 过往消息
- URL: 
http://news.at.zhihu.com/api/4/news/before/20131119 - 若果须要查询 11 月 18 日的消息,
before后的数字应为20131119 - 知乎日报的生日为 2013 年 5 月 19 日,若 
before后数字小于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。获取相应新闻的额外信息,如评论数量,所获的『赞』的数量。
 响应实例:
{
"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/4232852/long-comments - 使用在 
最新消息中获得的id,在http://news-at.zhihu.com/api/4/story/#{id}/long-comments中将id替换为相应的id,得到长评论
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/4232852/short-comments - 使用在 
最新消息中获得的id。在http://news-at.zhihu.com/api/4/story/#{id}/short-comments中将id替换为相应的id。得到短评论
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 响应实例:
{
"limit": 1000,
"subscribed": [ ],
"others": [
{
"color": 8307764,
"thumbnail": "http://pic4.zhimg.com/2c38a96e84b5cc8331a901920a87ea71.jpg",
"description": "内容由知乎用户推荐,海纳主题百万,趣味上天入地",
"id": 12,
"name": "用户推荐日报"
},
...
]
}
- 分析:
limit: 返回数目之限制(仅为推測)subscribed: 已订阅条目others: 其它条目color: 颜色,作用未知thumbnail: 供显示的图片地址description: 主题日报的介绍id: 该主题日报的编号name: 供显示的主题日报名称
 
- 分析:
 
10.
 主题日报内容查看
- URL: 
http://news-at.zhihu.com/api/4/theme/11 - 使用在 
主题日报列表查看中获得须要查看的主题日报的id。拼接在http://news-at.zhihu.com/api/4/theme/后,得到相应主题日报
JSON 格式的内容 响应实例:
{
stories: [
{
images: [
"http://pic1.zhimg.com/84dadf360399e0de406c133153fc4ab8_t.jpg"
],
type: 0,
id: 4239728,
title: "前苏联监狱纹身百科图鉴"
},
...
],
description: "为你发现最有趣的新奇事,建议在 WiFi 下查看",
background: "http://pic1.zhimg.com/a5128188ed788005ad50840a42079c41.jpg",
color: 8307764,
name: "不许无聊",
image: "http://pic3.zhimg.com/da1fcaf6a02d1223d130d5b106e828b9.jpg",
editors: [
{
url: "http://www.zhihu.com/people/wezeit",
bio: "微在 Wezeit 主编",
id: 70,
avatar: "http://pic4.zhimg.com/068311926_m.jpg",
name: "益康糯米"
},
...
],
image_source: ""
}
- 分析:
stories: 该主题日报中的文章列表images: 图像地址(其类型为数组。请留意在代码中处理无该属性与数组长度为 0 的情况)type: 类型,作用未知title: 消息的标题
description: 该主题日报的介绍background: 该主题日报的背景图片(大图)color: 颜色,作用未知name: 该主题日报的名称image: 背景图片的小图版本号editors: 该主题日报的编辑(『用户推荐日报』中此项的指是一个空数组。在 App 中的主编栏显示为『很多人』,点击后訪问该主题日报的介绍页面,请留意)url: 主编的知乎用户主页bio: 主编的个人简单介绍id: 数据库中的唯一表示符avatar: 主编的头像name: 主编的姓名
image_source: 图像的版权信息
 
- 分析:
 
11.
 热门消息
- 请注意! 此 API 仍可訪问,可是其内容未出如今最新的『知乎日报』 App 中。
 - URL: 
http://news-at.zhihu.com/api/3/news/hot 响应实例:
{
recent: [
{
news_id: 3748552,
url: "http://daily.zhihu.com/api/2/news/3748552",
thumbnail: "http://p3.zhimg.com/67/6a/676a8337efec71a100eea6130482091b.jpg",
title: "长得美丽能力出众性格单纯的姑娘为什么会没有男朋友?"
},
...
]
}
大体同前面介绍的 API 类似,唯一须要注意的是:欲获得图片地址。不再使用
image而是thumbnail属性url属性可直接使用。请注意,url中的api属性为 2,是较老版本号。
12.
 软件推广
- 请注意。 此 API 已无法訪问,可是其内容曾出现于『知乎日报』 App 中。
 - Android: 
http://news-at.zhihu.com/api/3/promotion/android - iOS: 
http://news-at.zhihu.com/api/3/promotion/ios 
13.
 栏目总览
- 请注意!
此 API 仍可訪问。可是其内容未出如今最新的『知乎日报』 App 中。
 - URL: 
http://news-at.zhihu.com/api/3/sections 响应实例:
{
data: [
{
id: 1,
thumbnail: "http://p2.zhimg.com/10/b8/10b8193dd6a3404d31b2c50e1e232c87.jpg",
name: "深夜食堂",
description: "睡前宵夜,用别人的故事下酒"
},
...
]
}
相同,注意使用
thumbnail获取图像的地址
14.
 栏目详细消息查看
- 请注意! 此 API 仍可訪问,可是其内容未出如今最新的『知乎日报』 App 中。
 - URL: 
http://news-at.zhihu.com/api/3/section/1 - URL 最后的数字见『栏目总览』中对应栏目的 
id属性 响应实例:
{
news: [
{
date: "20140522",
display_date: "5 月 22 日"
},
...
],
name: "深夜食堂",
timestamp: 1398780001
}
往前:
http://news-at.zhihu.com/api/3/section/1/before/1398780001- 在 URL 最后加上一个时间戳,时间戳详见 JSON 数据末端的 
timestamp属性 
- 在 URL 最后加上一个时间戳,时间戳详见 JSON 数据末端的 
 
15.
 查看新闻的推荐者
- URL: 
http://news-at.zhihu.com/api/4/story/#{id}/recommenders - 将新闻id填入到#{id}的位置。 如 
http://news-at.zhihu.com/api/4/story/7101963/recommenders 响应实例
{
"items": [],
"editors": [{
"bio": "树上的女爵",
"title": "主编",
"id": 79,
"avatar": "http:\/\/pic1.zhimg.com\/0a6456810_m.jpg",
"name": "刘柯"
}],
"item_count": 1
}
16.
 获取某个专栏之前的新闻
- URL: 
http://news-at.zhihu.com/api/4/theme/#{theme id}/before/#{id} - 将专栏id填入到 #{theme id}, 将新闻id填入到#{id},如 
http://news-at.zhihu.com/api/4/theme/11/before/7119483 - 注:新闻id要是属于该专栏,否则。返回结果为空
 响应实例:
{
"stories": [
{
"images": [
"http://pic2.zhimg.com/27f3d8f4c1e0000d04ee446a2f020cf1_t.jpg"
],
"type": 2,
"id": 7119477,
"title": "9 张本周最热节操图。诺一就是人生赢家本人"
}, ...
]
}
17.
 查看editor的主页
- iOS: 
http://news-at.zhihu.com/api/4/editor/#{id}/profile-page/ios - Android: 
http://news-at.zhihu.com/api/4/editor/#{id}/profile-page/android - 如 http://news-at.zhihu.com/api/4/editor/79/profile-page/ios
 
知乎日报 API 分析的更多相关文章
- 知乎日报 API的图片盗链问题
		
由最近 基于vue的知乎日报单页应用 引发的问题 以及问题解决历程 通过 知乎日报API 基于vue做一个知乎日报的单页应用,在获取图片时存在一个图片盗链问题,图片无法加载 提示 403 错误, 最终 ...
 - 【完全开源】知乎日报UWP版(上篇):界面设计、官方API分析
		
目录 说明 使用Fiddler分析android版API 部分效果图 关于源码 说明 在做博客园UWP版的时候其实就有做知乎日报的打算了,前段时间一直出差,在酒店里用Fiddler简单的分析了一下An ...
 - 微信小程序开发日记——高仿知乎日报(上)
		
本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...
 - 【开源】知乎日报UWP 更新
		
说明 大概十天之前我更新了一次APP,后来又仔细看了一下Store里的评论,发现还有几个地方没有改过来.于是前天晚上抽时间改了一下,顺便完善了一下UI体验. 没有看前面文章的童鞋可以看一下下面的链接: ...
 - 【完全开源】知乎日报UWP版:增加Live磁贴、Badge、以及Toast通知
		
目录 说明 实现方法 APP生命期 后台任务 说明 之前网上有人建议增加磁贴(tile).徽章(badge)功能.利用周末的时间,将这两个功能添加上去了.如果将磁贴固定到开始屏幕,磁贴就会循环播放首页 ...
 - 【完全开源】知乎日报UWP版:项目结构说明、关键源代码解释
		
目录 说明 项目结构 关键代码 演示视频 说明 上一篇博客将源码放出来了,但是并没有做过多的介绍,所以如果自己硬看可能需要花费很长的时间,尤其这些代码并不是自己写的.项目不算复杂但是也不算简单,这篇文 ...
 - 【完全开源】知乎日报UWP版(下篇):商店APP、github源码、功能说明。Windows APP 良心出品。
		
目录 说明 功能 截图+视频 关于源码和声明 说明 陆陆续续大概花了一个月的时间,APP算是基本完成了.12月份一直在外出差,在出差期间进行了两次功能完善,然后断断续续修补了一些bug,到目前为止,我 ...
 - 微信小程序之知乎日报
		
上一次的<微信小程序之小豆瓣图书>制作了一个图书的查询功能,只是简单地应用到了网络请求,其他大多数小程序应有的知识.而本次的示例是知乎日报,功能点比较多,页面也比上次复杂了许多.在我编写这 ...
 - android翻译应用、地图轨迹、视频广告、React Native知乎日报、网络请求框架等源码
		
Android精选源码 android实现高德地图轨迹效果源码 使用React Native(Android和iOS)实现的 知乎日报效果源码 一款整合百度翻译api跟有道翻译api的翻译君 RxEa ...
 
随机推荐
- win10 mysql57密码重置
			
[摘要: 1.my-default.ini 更名my.ini 正在解压的目次上面复造my-default.ini一份更名字为 my.ini. 2.翻开 Windows 情况变量设置, 新建变量名 MY ...
 - 【Android实战】----基于Retrofit实现多图片/文件、图文上传
			
本文代码详见:https://github.com/honghailiang/RetrofitUpLoadImage 一.再次膜拜下Retrofit Retrofit不管从性能还是使用方便性上都非常屌 ...
 - SQL语法 之 操作语句
			
一.插入语句 1.插入单行记录 INSERT INTO table_name|view_name[(column1_name [,column2_name, ... ])] VALUES( value ...
 - 矩阵的frobenius范数及其求偏导法则
			
例子: http://www.mathchina.net/dvbbs/dispbbs.asp?boardid=4&Id=3673
 - Drawing points
			
A point is the most simple graphics object that can be drawn. It is a small spot on the window. #!/u ...
 - InnerHtml() 与html( )的区别
			
InnerHtml() 与html( )的区别 在一个 HTML 文档中, 我们可以使用 .html() 方法来获取任意一个元素的内容. 如果选择器匹配多于一个的元素,那么只有第一个匹配元素的 HTM ...
 - oracle 三表关联查询
			
oracle 三表关联查询 CreationTime--2018年7月4日17点52分 Author:Marydon 左连接实现三表关联 表A--------------------------- ...
 - linux  cut 命令
			
cut:以某种方式按照文件的行进行分割 参数列表: -b 按字节选取 忽略多字节字符边界,除非也指定了 -n 标志 -c 按字符选取 -d 自定义分隔符,默认为制表符. -f 与-d一起使用,指定显示 ...
 - IDEA中同窗口导入新的maven项目
			
创建请看这个:http://www.cnblogs.com/oskyhg/p/6649266.html 下边开始导入: 完毕. 结果展示:
 - Linux 网桥配置命令:brctl
			
Linux网关模式下将有线LAN和无线LAN共享网段实现局域网内互联: 思路其实很简单:就是将虚拟出一个bridge口,将对应的有线LAN和无线LAN都绑定在这个虚拟bridge口上,并给这个brid ...