POST

Stato di salute dell'API

Operatività nelle ultime 24 ore
Normale
  • Buono / normale
  • Disponibile
  • Limitato
  • Quasi del tutto inattivo
Normale

Ultime 24 ore

Ultimi 30 giorni

Trova rubriche di Zhihu su un argomento, 20 per pagina, con titolo, descrizione, follower, upvote, numero di articoli e autore.

Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su zhihu e action impostato su column_search. Prezzo $0.81 per 1.000 richieste ($0.000806 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.

Prompt per l'AI

#
Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Zhihu Ricerca rubriche di EveryInfra (zhihu/column_search).

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 column_search, e inserisci i parametri in params.
- Parametri obbligatori:
  - keyword: Una keyword per trovare colonne di Zhihu; usa termini in cinese per le colonne in lingua cinese.
- Parametri facoltativi:
  - page_token: Token di pagina. Omettilo per la prima pagina, poi ripassa il next_page_token della risposta precedente esattamente come ricevuto. 20 colonne per pagina; ogni pagina corrisponde a una chiamata.
- Restituisce un elenco di record. Campi principali di ogni record: id, type, url, title, text, cover_image_url (URL dell'immagine di copertina), follower_count (Follower: su hot_list, le persone che s…), like_count, article_count, author_id, author_name, author_url.
- Esempio di corpo della richiesta:
{
  "platform": "zhihu",
  "action": "column_search",
  "params": {
    "keyword": "python"
  }
}
- Prezzo: $0.81 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

#
NomePosizioneTipoObbligatorioPredefinitoDescrizione
AuthorizationheaderstringSì-Bearer seguito dalla tua chiave API. Creala nella console; non inserirla mai in un URL o in un repository di codice.
platformbodystringSìzhihuIdentificativo della piattaforma, valore fisso.
actionbodystringSìcolumn_searchIdentificativo della funzionalità, valore fisso.
keywordbody.paramsstringSì-Una keyword per trovare colonne di Zhihu; usa termini in cinese per le colonne in lingua cinese.
page_tokenbody.paramsstringNo-Token di pagina. Omettilo per la prima pagina, poi ripassa il next_page_token della risposta precedente esattamente come ricevuto. 20 colonne per pagina; ogni pagina corrisponde a una chiamata.

Esempi di codice

#
bash
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": "column_search",
  "params": {
    "keyword": "python"
  }
}'

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

#
Non è ancora disponibile una risposta di esempio per questi parametri. Questa anteprima mostra la struttura e i campi della risposta secondo la definizione dell'API, con … come segnaposto; non è il risultato di una chiamata reale.
json
{  "id": "req_…",  "platform": "zhihu",  "action": "column_search",  "results": [    {      "id": …,      "type": …,      "url": …,      "title": …,      "text": …,      "cover_image_url": …,      "follower_count": …,      "like_count": …,      "article_count": …,      "author_id": …,      "author_name": …,      "author_url": …,      "platform": …    }  ],  "next_page_token": …,  "pagination": { … },  "count": …,  "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.

CampoSignificato
idID univoco del record sulla piattaforma. È univoco solo all'interno di una piattaforma; gli ID possono ripetersi tra piattaforme diverse.
typeTipo di record; i valori dipendono dalla funzionalità (ad esempio video / image / text).
urlLink al record sulla piattaforma.
titleTitolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo).
textTesto 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).
cover_image_urlURL dell'immagine di copertina.
follower_countFollower: su hot_list, le persone che seguono la domanda; su user_search, i follower dell'utente; su column_search, le persone che seguono la rubrica.
like_countLike. null significa che la piattaforma o questa funzionalità non li rende noti; non equivale a 0.
article_countMantiene il significato attribuito dalla piattaforma
author_idID univoco dell'autore sulla piattaforma.
author_nameNome visualizzato dell'autore.
author_urlLink al profilo dell'autore sulla piattaforma.
platformIdentificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok).

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.

Errori

Le nostre statistiche di visita interne sono sempre attive. Google Analytics viene caricato solo se scegli «Consenti analisi». Informativa sulla privacy