PlaylistItems parece estar limitado a 20 000 entradas para las listas de reproducción subidas. ¿Hay algún trabajo alrededor?

Aug 21 2020

Parece que las listas de reproducción subidas recientemente se limitaron a 20 000 entradas. ¿Existe alguna forma de obtener una lista de todos los videos subidos por un canal?

Por ejemplo, el canal UCFL1sCAksD6_7JIZwwHcwjQ tiene 57849 videos al buscarlo:

https://www.youtube.com/results?search_query=jtbc+entertainment.

Pero su lista de reproducción de subidas tiene solo 20000 videos:

https://www.youtube.com/playlist?list=UUFL1sCAksD6_7JIZwwHcwjQ.

Al consultar la API de datos de YouTube a través de Python, después de llegar a la página que tiene la entrada número 20 000, nextPageToken no existe.

¿Cómo puedo encontrar el resto de los videos?

Respuestas

2 stvar Aug 21 2020 at 13:49

Puede intentar usar repetidamente el Search.listpunto final de API consultado con los siguientes parámetros:

  • channelId=UCFL1sCAksD6_7JIZwwHcwjQ,
  • type=video,
  • order=date,
  • publishedBefore=...,
  • maxResults=50,

donde publishedBeforese calcula apropiadamente.

La inicial publishedBeforese establece en 1 segundo antes del valor de la publishedAtpropiedad del último video (cronológicamente) que ha obtenido del PlaylistItems.listpunto final invocado con playlistId=UUFL1sCAksD6_7JIZwwHcwjQ.

Los valores sucesivos de publishedBeforese establecerán, de manera similar, 1 segundo antes del valor de la publishedAtpropiedad del último video (cronológicamente) de la llamada anterior al Search.listpunto final.

Un comentario más: tenga en cuenta que, incluso si la API le permitirá ir más allá del límite de 20000 utilizando el algoritmo anterior (no sé si lo hará, debe probarlo usted mismo), el costo de este procedimiento es bastante alto: cada Search.listllamada de punto final tiene un costo de cuota de 100 unidades (caro de hecho).