2014-12-16 10 views
6

Come il titolo. faccio una richiesta del genere:Come ottenere tutti i risultati dalla risposta dell'API di YouTube (ricerca API)

https://www.googleapis.com/youtube/v3/search?key=AIzaSyDuxczhyyvHWfxKuF3ygW9p0GWmKlvWLYc&part=id,snippet&publishedAfter=2014-12-09T00:00:00Z&publishedBefore=2014-12-11T00:00:00Z&videoCategoryId=GCSG93LXRvICYgRElZ&type=video&maxResults=50&pageToken= 

risultato totale è 1000000. Ma ho appena possono ottenere 500 risultati massimo (10 pagine, 50 risultati/pagina). Alla decima pagina, non vedo la proprietà nextPageToken per andare alla pagina successiva. ??? Non so perché. Come posso ottenere tutto il risultato.

risposta

11

YouTube impone un limite flessibile di circa 500. Non esiste un modo diretto per ottenere di più tramite l'API.

Tutti i dettagli: https://code.google.com/p/gdata-issues/issues/detail?id=4282

Rilevante estratto:

"Non possiamo fornire più di ~ 500 risultati di ricerca per qualsiasi domanda arbitraria YouTube tramite l'API senza che la qualità dei risultati di ricerca fortemente degradanti (duplicati , ecc.)

L'API GData v1/v2 è stata aggiornata a novembre per limitare il numero di risultati di ricerca restituiti a 500. Se si specifica un indice iniziale di 500 o più, non si riceverà alcun

Anche questo dovrebbe essere entrato in vigore per l'API v3 (che utilizza un metodo diverso per sfogliare i risultati) ma apparentemente non è stato eliminato, quindi è ancora possibile recuperare fino a 1000 risultati di ricerca in v3: l'ultimo 500 di questi sono di solito di pessima qualità.

La modifica per limitare i risultati di ricerca da v3 a 500 verrà eliminata nel prossimo futuro. Non ci saranno più nextPageTokens restituiti dopo aver raggiunto 500 risultati.

Capisco che il totale dei risultati restituiti è molto più alto di 500 in tutti questi casi, ma non è la stessa cosa che dire che possiamo effettivamente restituire tutti gli X milioni di risultati possibili. E 'pensato come una stima della dimensione totale della serie di video che corrispondono a una query e normalmente non è molto utile "

aggiornamento -. Come aggirare il 500 risultato limite soft max

Usa i filtri "pubblicati dopo" e "pubblicati prima" interrompono la query in cicli di query per giorno/settimana/mese fino a quando non vengono restituiti ulteriori risultati, ogni query periodica deve restituire meno di 500 risultati ciascuno, ma li otterrete tutti.

+0

Grazie mille @john Ho cercato per molti giorni ma non ho trovato risposta Grazie –

+0

Prego, segna questa risposta utile. – johnh10