知乎

知乎热榜与内容检索:热榜按排名返回当前热点问题;综合搜索按关键词返回结果(每条自带完整正文与图片);问题 / 专栏文章详情返回正文与图片、评论、相关问题与「大家都在搜」。

/api/zhihu/

服务说明

知乎热榜接口,返回当前知乎热榜的排名、标题、直达链接、摘要、热度与回答数,适合做热点聚合、选题参考与内容看板。

综合搜索 /api/zhihu/search:按关键词搜索知乎内容,每条结果直接带完整正文与图片(不是摘要)、作者、赞同数与评论数,并附「大家都在搜」;用 offset 翻页。

登录凭据两种用法:一是在请求里带上 cookie(你自己的知乎登录 Cookie,仅本次生效、我们不存储);不带则回落到平台统一托管的账号 —— 平台在后台「账号管理」维护知乎账号与登录 Cookie,接口自动取一份可用凭据去访问。在文档页右侧栏「本机凭据」粘贴并「保存到本机浏览器」,在线调试会自动带上。若平台托管的凭据失效,接口会明确提示需要重新登录,并把该账号标记为「已过期」。

问题详情 /api/zhihu/question:传问题 ID(或问题网页地址)即可拿到问题正文与其中的图片、回答列表(含正文图片与各自的热门评论)、问题本身的评论、相关问题与「大家都在搜」;回答条数与评论条数都可用参数调整。

专栏文章详情 /api/zhihu/article:传文章 ID(或文章网页地址)即可拿到完整正文与其中的图片、评论与「大家都在搜」。文章页只有这三个模块 —— 没有「回答列表」和「相关问题」(后者是问题页专有)。

/api/zhihu/check 用于校验一份知乎凭据是否仍然有效:带上 cookie 就校验你自己那份(完全不碰平台账号),不带则校验平台托管的账号并把结果回写到账号状态。

响应格式

所有接口返回同一个 JSON 信封,业务数据都在 data 里:

{
  "code": 10000,
  "msg": "成功",
  "data": { ... }
}
  • code:业务状态码,10000 表示成功;其余为各类错误,完整清单见「错误码」页。
  • msg:给人看的提示文案,可直接展示给终端用户,但不要用它做逻辑判断。
  • data:业务数据;出错时通常为 null。各接口 data 的具体字段见该接口的「响应说明」。

判断成功与否请看 code,不要依赖 HTTP 状态码。 查看完整错误码

知乎

知乎(zhihu.com) 需签名

数据来自知乎官方 web 接口;调用方可自带登录 Cookie,不传则用平台托管的账号。

POST /api/zhihu/hot 累计调用 1 次

热榜

获取知乎热榜(默认 50 条,最多 50 条)。

可选,1~50,默认 50。超出范围返回参数值非法。

  • 热度为知乎原始文案(如「1370 万热度」),未做数值化处理,避免口径误读。
  • url 是可在浏览器直接打开的网页地址;question_id 为知乎问题 ID。
  • 也接受 GET(此时参数走 query 串);因知乎 Cookie 较长,推荐用 POST 放表单体。
响应说明 外层统一格式
字段 类型 说明
count int 本次返回的条数
list[].rank int 排名,从 1 开始
list[].title string 标题
list[].url string 网页地址(可直接打开)
list[].excerpt string 摘要(可能为空)
list[].hot string 热度文案,如「1370 万热度」
list[].answer_count int 回答数(可能为 0)
list[].question_id int 知乎问题 ID
list[].cover string 封面图地址(可能为空)
POST /api/zhihu/question 累计调用 0 次

问题详情

问题详情:问题正文与图片、回答(含图片与评论)、问题评论、相关问题、大家都在搜。

必填。知乎问题 ID(纯数字),也可以直接填问题网页地址(形如 https://www.zhihu.com/question/2089437755591713926)。

可选,1~20,默认 5。返回多少条回答。

可选,0~20,默认 3。每条回答返回多少条热门评论(0 = 不取)。

可选,0~20,默认 10。问题本身的评论返回多少条(0 = 不取)。

  • 图片:问题正文与回答正文都同时给出 HTML 原文(detail / content,可直接渲染)与抽好的 images 图片地址数组(原图优先、已去重)。
  • 评论:问题评论在 question.comments,每条回答的评论在该回答的 comments 里;每条评论会内联最多 3 条子评论(回复)。
  • answer_count / comment_count 是总数,不等于本次返回的条数 —— 本次条数由 answer_limit / comment_limit 决定。
  • 「相关问题」由知乎动态给出,条数不固定(最多 5 条);「大家都在搜」固定 10 条,并附带可直接打开的知乎搜索页地址。
  • 问题本体(标题 / 正文 / 话题 / 计数)解析自问题页内嵌数据(知乎该接口带签名校验,无法直取);解析失败时接口会明确报错。
  • 也接受 GET(此时参数走 query 串);因知乎 Cookie 较长,推荐用 POST 放表单体。
响应说明 外层统一格式
字段 类型 说明
question.id string 问题 ID
question.title string 标题
question.url string 问题网页地址
question.detail string 问题正文 HTML(原样保留)
question.images array 问题正文里的图片地址
question.excerpt string 正文摘要
question.topics[].name string 话题名
question.topics[].url string 话题网页地址
question.answer_count int 回答总数
question.follower_count int 关注者数
question.comment_count int 评论总数
question.visit_count int 被浏览数
question.created_time int 创建时间(Unix 秒)
question.updated_time int 更新时间(Unix 秒)
question.comments[] array 问题评论(结构见下)
comments[].id string 评论 ID
comments[].content string 评论正文(纯文本)
comments[].author.name string 评论者昵称
comments[].like_count int 点赞数
comments[].child_comment_count int 子评论总数
comments[].reply_to_author string 回复的对象(子评论才有)
comments[].child_comments[] array 内联的子评论(最多 3 条,结构与父评论一致)
answers[].id string 回答 ID
answers[].url string 回答网页地址
answers[].content string 回答正文 HTML
answers[].images array 回答正文里的图片地址
answers[].excerpt string 回答摘要
answers[].author.name string 回答者昵称
answers[].author.url string 回答者主页地址
answers[].voteup_count int 赞同数
answers[].comment_count int 该回答的评论总数
answers[].comments[] array 该回答的评论(结构与 question.comments[] 一致)
related_questions[].title string 相关问题标题
related_questions[].url string 相关问题网页地址
related_questions[].answer_count int 回答数
related_questions[].follower_count int 关注者数
hot_searches[].query string 搜索词
hot_searches[].hot int 热度值
hot_searches[].hot_show string 热度文案(如「648 万」)
hot_searches[].url string 知乎搜索页地址
POST /api/zhihu/article 累计调用 0 次

专栏文章详情

知乎专栏文章详情:完整正文与图片、评论、大家都在搜。

必填。知乎文章 ID(纯数字),也可以直接填文章网页地址(形如 https://zhuanlan.zhihu.com/p/608180793)。

可选,0~20,默认 10。返回多少条热门评论(0 = 不取)。

  • 正文是全文:取的是文章页内嵌的完整正文,不是摘要;content_truncated 为 true 时才表示知乎把超长文章的正文截断了(罕见)。
  • 图片:content 是 HTML 原文(可直接渲染),images 是抽好的图片地址数组(原图优先、已去重)。
  • 文章页只有三个模块:正文、评论、大家都在搜 —— 没有「回答列表」与「相关问题」(后者是问题页专有)。
  • comment_count 是评论总数,不等于本次返回的条数(本次条数由comment_limit 决定)。
  • 也接受 GET(此时参数走 query 串);因知乎 Cookie 较长,推荐用 POST 放表单体。
响应说明 外层统一格式
字段 类型 说明
article.id string 文章 ID
article.title string 标题
article.url string 文章网页地址
article.content string 文章正文 HTML(原样保留,可含图片 / 代码块 / 引用)
article.images array 正文里的图片地址
article.excerpt string 摘要
article.topics[].name string 话题名
article.topics[].url string 话题网页地址
article.author.name string 作者昵称
article.author.url string 作者主页地址
article.voteup_count int 赞同数
article.comment_count int 评论总数
article.liked_count int 「喜欢」数
article.favlists_count int 收藏数
article.content_truncated bool 正文是否被知乎截断(true 表示拿到的不是全文)
article.created_time int 发布时间(Unix 秒)
article.updated_time int 更新时间(Unix 秒)
article.comments[] array 评论(结构与 question.comments[] 一致)
hot_searches[].query string 搜索词
hot_searches[].url string 知乎搜索页地址
POST /api/zhihu/check 累计调用 0 次

校验登录凭据

校验知乎登录凭据是否有效(自带 cookie 校验你自己那份,否则校验平台托管的账号)。

  • 凭据无效不算接口调用失败:仍返回成功码,把 valid=false 与原因放在 data 里,由调用方自行决定是否提示用户重新登录。
  • 校验平台托管的账号时会更新其「凭据状态」与「最近校验结果」,在后台「账号管理」页可直接看到;自带 Cookie 校验不涉及平台账号。
  • 也接受 GET(此时参数走 query 串);因知乎 Cookie 较长,推荐用 POST 放表单体。
响应说明 外层统一格式
字段 类型 说明
valid bool 凭据是否有效
account string 被校验的账号标识(自带 Cookie 校验时为空)
message string 校验说明(有效时含登录用户名)
小影API · 通用 API 聚合服务