API Zhihu Commenti ai contenuti
Stato di salute dell'API
- Operatività nelle ultime 24 ore
- Normale
- Buono / normale
- Disponibile
- Limitato
- Quasi del tutto inattivo
Ultime 24 ore
Ultimi 30 giorni
Raccogli i commenti di primo livello di una risposta, un articolo o un video di Zhihu, fino a 100 per chiamata. Ottieni testo, like, numero di risposte, data e autore del commento. Un reply_count diverso da zero indica che esistono risposte, che puoi elencare con comment_replies. La discussione potrebbe non essere completa.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su zhihu e action impostato su content_comments. Prezzo $0.56 per 1.000 richieste ($0.000556 per chiamata). Le chiamate non riuscite e i risultati vuoti non vengono addebitati. Sincrona. Per i job più lenti, aggiungi "mode": "async" al corpo della richiesta, recupera il job_id ed esegui il polling.
Zhihu Content comments legge la discussione sotto una risposta, un articolo o un video, a partire dal relativo link in url. Ogni riga contiene il testo completo di un commento, i like, il numero di risposte, l'ora di pubblicazione e il nome e l'ID di chi ha commentato. Mostra come i lettori reagiscono a un contenuto, se sono d'accordo, obiettano o aggiungono correzioni, e questo interessa ai team di brand che seguono le risposte sui loro prodotti e ai ricercatori che studiano il dibattito su Zhihu.
Passa il link del contenuto specifico, come il link di un articolo zhuanlan.zhihu.com/p/ o l'indirizzo di una singola risposta. Una riga con reply_count maggiore di zero ha delle risposte, che puoi elencare con la funzionalità Zhihu Comment replies. author_id ti permette di contare quanto spesso le stesse persone commentano contenuti diversi e un like_count null significa che Zhihu non ha reso noto il numero, non che nessuno ha messo like al commento.
Prompt per l'AI
#Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Zhihu Commenti ai contenuti di EveryInfra (zhihu/content_comments).
Come funziona l'endpoint:
- Richiesta: POST https://api.everyinfra.com/api/v1/social con l'header Authorization: Bearer <chiave API>. Leggi la chiave dalla variabile d'ambiente EVERYINFRA_API_KEY e non scriverla mai direttamente nel codice.
- Nel corpo della richiesta imposta platform su zhihu e action su content_comments, e inserisci i parametri in params.
- Parametri obbligatori:
- url: L'URL del contenuto o del profilo richiesto dalle azioni orientate ai contenuti. content_detail e content_comments accettano link a risposte, articoli o video (le pagine delle domande non sono supportate).
- Parametri facoltativi:
- limit: Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 100. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. (predefinito: 20)
- Restituisce un elenco di record. Campi principali di ogni record: id, text, like_count, posted_at, reply_count, author_id, author_name, author_avatar_url (URL dell'avatar dell'autore).
- Esempio di corpo della richiesta:
{
"platform": "zhihu",
"action": "content_comments",
"params": {
"url": "https://zhuanlan.zhihu.com/p/2032860336215307118"
}
}
- Prezzo: $0.56 per 1.000 richieste; le richieste non riuscite e i risultati vuoti non vengono addebitati.
- Per decine o centinaia di target, aggiungi "mode": "async" al corpo: ricevi subito un job_id ed esegui il polling su GET https://api.everyinfra.com/api/v1/jobs/{job_id} per ottenere il risultato.
- In caso di 422, correggi la richiesta usando i nomi dei parametri e i valori consentiti suggeriti nell'errore; in caso di 429 o 503, attendi il tempo indicato da Retry-After e riprova.
Prima di scrivere il codice, chiedimi quali target mi servono, quanti, quali campi e quale formato di output voglio; poi conferma con me il piano e il costo indicativo.Parametri della richiesta
#| Nome | Posizione | Tipo | Obbligatorio | Predefinito | Descrizione |
|---|---|---|---|---|---|
Authorization | header | string | Sì | - | Bearer seguito dalla tua chiave API. Creala nella console; non inserirla mai in un URL o in un repository di codice. |
platform | body | string | Sì | zhihu | Identificativo della piattaforma, valore fisso. |
action | body | string | Sì | content_comments | Identificativo della funzionalità, valore fisso. |
url | body.params | string | Sì | - | L'URL del contenuto o del profilo richiesto dalle azioni orientate ai contenuti. content_detail e content_comments accettano link a risposte, articoli o video (le pagine delle domande non sono supportate); profile e user_articles accettano link a profili zhihu.com/people/. |
limit | body.params | integer (1–100) | No | 20 | Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 100. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. I valori più alti restituiscono 422 prima di qualsiasi addebito. |
Esempi di codice
#curl -X POST 'https://api.everyinfra.com/api/v1/social' \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"platform": "zhihu",
"action": "content_comments",
"params": {
"url": "https://zhuanlan.zhihu.com/p/2032860336215307118"
}
}'Definizione OpenAPI (JSON)Gli esempi leggono la chiave dalla variabile d'ambiente EVERYINFRA_API_KEY; il codice copiato non contiene mai la tua chiave.
Esempio di risposta
#{ "id": "req_…", "platform": "zhihu", "action": "content_comments", "results": [ { "id": "•••", "text": "看错了,以为他又发明了一遍python,惊恐地进来一看原来是这样[尴尬]", "like_count": 22, "reply_count": 3, "author_id": "•••", "author_name": "•••", "author_avatar_url": "https://picx.zhimg.com/•••", "platform": "zhihu" }, { "id": "•••", "text": "很有意思,所以有没有人试试训练数据截断至1900年训练llm,看看能不能独立推出广义相对论[思考]这就是Demis Hassabis的AGI标准", "like_count": 10, "reply_count": 3, "author_id": "•••", "author_name": "•••", "author_avatar_url": "https://pic1.zhimg.com/•••", "platform": "zhihu" } ], "count": 20, "billing": { "charged": …, "charged_usd": …, "balance_after_usd": …, … }, "quota": { … }}
Campi della risposta
#I dati di business si trovano in results. La tabella elenca i campi che un record può contenere; i valori che la piattaforma non mostra non vengono mai inventati.
| Campo | Significato |
|---|---|
id | ID univoco del record sulla piattaforma. È univoco solo all'interno di una piattaforma; gli ID possono ripetersi tra piattaforme diverse. |
text | Testo del contenuto senza HTML, restituito per intero e mai troncato (su alcune piattaforme i risultati degli elenchi contengono solo un estratto; lo indicano le note sui campi della piattaforma). |
like_count | Like. null significa che la piattaforma o questa funzionalità non li rende noti; non equivale a 0. |
posted_at | Data e ora di pubblicazione in formato ISO 8601, UTC (ad esempio 2026-08-07T12:34:56+00:00). Le stringhe non standard della piattaforma vengono passate così come sono, quindi esegui il parsing in modo difensivo. null significa che la piattaforma non le rende note. |
reply_count | Risposte, di solito a un commento. null significa non rese note. |
author_id | ID univoco dell'autore sulla piattaforma. |
author_name | Nome visualizzato dell'autore. |
author_avatar_url | URL dell'avatar dell'autore; nei risultati dei commenti, l'avatar di chi ha commentato. |
platform | Identificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok). |
FAQ
#Posso passare il link di una domanda Zhihu?
#No. Le pagine delle domande non sono supportate. Una domanda raccoglie molte risposte, ciascuna con la propria sezione commenti, quindi passa il link di ogni risposta che ti interessa, uno per chiamata. Zhihu Search, filtrata sulle risposte, è un modo per raccogliere i link alle risposte su un argomento.
Come leggo le risposte sotto un commento?
#Seleziona le righe in cui reply_count è maggiore di zero. Passa lo stesso link del contenuto e l'id della riga alla funzionalità Zhihu Comment replies, che elenca le risposte a quel commento. I thread con molte risposte sono spesso quelli in cui c'è stata una discussione o una correzione, quindi conviene espanderli per primi.
In che ordine arrivano i commenti?
#L'ordine lo decide Zhihu, perché qui non c'è un'opzione di ordinamento. Per classificare i commenti per popolarità o data, ordinali dopo la chiamata in base a like_count o posted_at; quest'ultimo è un timestamp ISO 8601 in UTC, quindi convertilo prima di leggere le date nell'ora della Cina.
Errori e addebiti
#- 401
- Chiave mancante o non valida.
- 402
- Saldo insufficiente. Effettua prima una ricarica.
- 422
- Nome o valore del parametro non valido. Correggilo seguendo i suggerimenti dell'errore. Nessun addebito.
- 429
- Raggiunto il limite di richieste al minuto. Attendi il tempo indicato da Retry-After, poi riprova.
- 503
- Impossibile completare. L'importo trattenuto torna sul tuo saldo. Se l'esito è incerto, verificalo prima di riprovare.
- Risposta 200 vuota
- Nessun dato. Nessun addebito.