声明

下面全部 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*432
    • 480*728
    • 720*1184
    • 1080*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 用的 URL
    • js : 供手机端的 WebView(UIWebView) 使用
    • recommenders : 这篇文章的推荐者
    • ga_prefix : 供 Google Analytics 使用
    • section : 栏目的信息
      • thumbnail : 栏目的缩略图
      • id : 该栏目的 id
      • name : 该栏目的名称
    • type : 新闻的类型
    • id : 新闻的 id
    • css : 供手机端的 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 数据缺少 bodyimage-sourceimagejs 属性。

    多出theme_nameeditor_nametheme_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 属性

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的主页

知乎日报 API 分析的更多相关文章

  1. 知乎日报 API的图片盗链问题

    由最近 基于vue的知乎日报单页应用 引发的问题 以及问题解决历程 通过 知乎日报API 基于vue做一个知乎日报的单页应用,在获取图片时存在一个图片盗链问题,图片无法加载 提示 403 错误, 最终 ...

  2. 【完全开源】知乎日报UWP版(上篇):界面设计、官方API分析

    目录 说明 使用Fiddler分析android版API 部分效果图 关于源码 说明 在做博客园UWP版的时候其实就有做知乎日报的打算了,前段时间一直出差,在酒店里用Fiddler简单的分析了一下An ...

  3. 微信小程序开发日记——高仿知乎日报(上)

    本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...

  4. 【开源】知乎日报UWP 更新

    说明 大概十天之前我更新了一次APP,后来又仔细看了一下Store里的评论,发现还有几个地方没有改过来.于是前天晚上抽时间改了一下,顺便完善了一下UI体验. 没有看前面文章的童鞋可以看一下下面的链接: ...

  5. 【完全开源】知乎日报UWP版:增加Live磁贴、Badge、以及Toast通知

    目录 说明 实现方法 APP生命期 后台任务 说明 之前网上有人建议增加磁贴(tile).徽章(badge)功能.利用周末的时间,将这两个功能添加上去了.如果将磁贴固定到开始屏幕,磁贴就会循环播放首页 ...

  6. 【完全开源】知乎日报UWP版:项目结构说明、关键源代码解释

    目录 说明 项目结构 关键代码 演示视频 说明 上一篇博客将源码放出来了,但是并没有做过多的介绍,所以如果自己硬看可能需要花费很长的时间,尤其这些代码并不是自己写的.项目不算复杂但是也不算简单,这篇文 ...

  7. 【完全开源】知乎日报UWP版(下篇):商店APP、github源码、功能说明。Windows APP 良心出品。

    目录 说明 功能 截图+视频 关于源码和声明 说明 陆陆续续大概花了一个月的时间,APP算是基本完成了.12月份一直在外出差,在出差期间进行了两次功能完善,然后断断续续修补了一些bug,到目前为止,我 ...

  8. 微信小程序之知乎日报

    上一次的<微信小程序之小豆瓣图书>制作了一个图书的查询功能,只是简单地应用到了网络请求,其他大多数小程序应有的知识.而本次的示例是知乎日报,功能点比较多,页面也比上次复杂了许多.在我编写这 ...

  9. android翻译应用、地图轨迹、视频广告、React Native知乎日报、网络请求框架等源码

    Android精选源码 android实现高德地图轨迹效果源码 使用React Native(Android和iOS)实现的 知乎日报效果源码 一款整合百度翻译api跟有道翻译api的翻译君 RxEa ...

随机推荐

  1. Why does Typescript use the keyword “export” to make classes and interfaces public?

    原文: https://stackoverflow.com/questions/15760462/why-does-typescript-use-the-keyword-export-to-make- ...

  2. Python Socket 编程——聊天室演示样例程序

    上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和client的代码了解主要的 Python Socket 编程模型.本文再通过一个样例来加强一下对 Socket ...

  3. XML❤你并不孤单

    XML不是已不成立的,它是慢慢发展起来的.由最初的GML发展到SGML再到HTML,最后有了是1998年发展起来的可扩展标记语言. 然而XML并非替换HTML的技术,两者的存在都十分重要. XML是一 ...

  4. C#应用视频教程2.1 OPENGL虚拟仿真介绍

    OPENGL的虚拟仿真对于工控自动化的意义很大,虽然市面上有很多的第三方软件比如Solidworks,Mathlab,ProE等等软件可以做仿真,而且能够实现的功能包括了流体分析,力学分析,摩擦力分析 ...

  5. 移动端项目中 @2x 图 和 @3x 图 的使用

    移动端开发过程中,因为手机的dpr(设备像素比不同),我们需要根据dpr来修改图标的大小: 1.通过mixin,动态修改图标的背景图片.通过@media (媒体查询),判断设备的dpr. @mixin ...

  6. Object.create(null) 和 {} 区别

    Object.create(null) 创建一个空对象,此对象无原型方法. {} 其实是new Object(),具有原型方法. 应用: 使用Object.create(null)的一个重要应用是:创 ...

  7. iOS开发之UITableView的使用

    这一篇记录的是iOS开发中UITableView的使用,iOS中的UITableView跟Android中的ListView特别相似,以下用一个Demo来说明: 1.Xcode中新建projectTe ...

  8. Learn X in Y minutes Where X=c++

    http://learnxinyminutes.com/docs/c++/ C++ is a systems programming language that, according to its i ...

  9. javascript 图片预加载

    <!DOCTYPE > <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ...

  10. JDBC 元数据信息 getMetaData()

    数据库元数据信息: import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.SQLExcept ...