知乎

知乎熱榜與內容檢索:熱榜按排名返回當前熱點問題;綜合搜索按關鍵詞返回結果(每條自帶完整正文與圖片);問題 / 專欄文章詳情返回正文與圖片、評論、相關問題與「大家都在搜」。

/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 聚合服務