Ver todos los comentarios en un video de YouTube

Walshy

Estoy tratando de obtener todos los comentarios en un video de YouTube usando un programa Java. Sin embargo, no puedo obtenerlos, ya que tiene "Mostrar más" en lugar de todos los comentarios. Estoy buscando una manera de obtener todos los comentarios o páginas de comentarios que puedo leer. Tengo una identificación de video y cosas, solo necesito los comentarios.

He intentado all_comments en lugar de mirar en la URL, pero todavía no muestra todos los comentarios y redirige para ver de nuevo.

También he visto la API de YouTube y solo puedo encontrar cómo obtener comentarios con su identificación, pero necesito obtener todos los comentarios de una identificación de video.

Si alguien sabe cómo hacer esto, por favor dígame.

He agregado una recompensa de 50 repeticiones para quien pueda darme una buena respuesta a esto.

Michael Cheremuhin:

Debe obtener una solicitud de lista de hilos de comentarios para su video y luego avanzar utilizando el token de la página siguiente de la última respuesta:

private static int counter = 0;
private static YouTube youtube;

public static void main(String[] args) throws Exception {
    // For Auth details consider:
    // https://github.com/youtube/api-samples/blob/master/java/src/main/java/com/google/api/services/samples/youtube/cmdline/Auth.java
    // Also don't forget secrets https://github.com/youtube/api-samples/blob/master/java/src/main/resources/client_secrets.json
    List<String> scopes = Lists.newArrayList("https://www.googleapis.com/auth/youtube.force-ssl");
    Credential credential = Auth.authorize(scopes, "commentthreads");
    youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, credential).build();

    String videoId = "video_id";

    // Get video comments threads
    CommentThreadListResponse commentsPage = prepareListRequest(videoId).execute();

    while (true) {
        handleCommentsThreads(commentsPage.getItems());

        String nextPageToken = commentsPage.getNextPageToken();
        if (nextPageToken == null)
            break;

        // Get next page of video comments threads
        commentsPage = prepareListRequest(videoId).setPageToken(nextPageToken).execute();
    }

    System.out.println("Total: " + counter);
}

private static YouTube.CommentThreads.List prepareListRequest(String videoId) throws Exception {

    return youtube.commentThreads()
                  .list("snippet,replies")
                  .setVideoId(videoId)
                  .setMaxResults(100L)
                  .setModerationStatus("published")
                  .setTextFormat("plainText");
}

private static void handleCommentsThreads(List<CommentThread> commentThreads) {

    for (CommentThread commentThread : commentThreads) {
        List<Comment> comments = Lists.newArrayList();
        comments.add(commentThread.getSnippet().getTopLevelComment());

        CommentThreadReplies replies = commentThread.getReplies();
        if (replies != null)
            comments.addAll(replies.getComments());

        System.out.println("Found " + comments.size() + " comments.");

        // Do your comments logic here
        counter += comments.size();
    }
}

Considere api-samples , si necesita un proyecto de esqueleto de muestra.


Actualizar

La situación en la que no puede obtener todos los comentarios también puede ser causada por los límites de la cuota (al menos lo enfrenté):

  • unidades / día 50,000,000
  • unidades / 100 segundos / usuario 300,000

Esto no es un java, python, js o cualquier otra regla específica del idioma. Si desea superar la cuota, no puede intentar solicitar una cuota más alta . Sin embargo, comenzaría por controlar su rendimiento. Es muy fácil superar la cuota de 100 segundos / usuario .

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Visual Studio 2015 ver todos los comentarios

¿Cómo colapsar / expandir todos los bloques de comentarios en un archivo en PhpStorm?

Use Selenium para hacer clic en todos los botones de 'respuesta' de comentarios de YouTube y obtener enlaces de canales

Obtenga todos los comentarios y responda a los comentarios en un solo SQL

Eliminar todos los comentarios de un texto en T-SQL

¿Cómo agregar un bloque de comentarios a los métodos en Eclipse?

VSCode: elimina todos los comentarios en un archivo

VSCode: elimina todos los comentarios en un archivo

¿Cómo eliminamos todos los comentarios de un usuario si los comentarios no tienen su propio modelo?

Instagram no muestra todos los comentarios de un medio

Ver todos los bot de servidor en

¿Hay alguna manera de convertir todos los comentarios en comentarios de javadoc? [Eclipse / Java]

¿Qué expresión XPath debo usar para obtener la cantidad de me gusta y comentarios en un video de YouTube?

La API de datos de YouTube obtiene todos los comentarios usando pageToken

Eliminar todos los comentarios en archivos Java

Ver todos los archivos de la membresía de un objetivo en Xcode

Cómo ver todos los conjuntos de consultas posibles de un modelo en django

Fuente de cambios de DocumentDB: cómo ver todos los cambios en un documento

comprobar la duración de los comentarios en un archivo

Eliminar los comentarios de un código fuente en Java

¿Cuál debería ser el selector de CSS para encontrar el recuento de comentarios en un video de YouTube usando Selenium en Python?

Ver la longitud completa de los comentarios HTML en Firefox DevTools

Obtenga * todos * los ID de video de Youtube de un canal elegido sin usar la consulta de búsqueda

Rvest vincula todos los comentarios del hilo del foro en un data.frame

Raspado de comentarios de Youtube en R

Cómo incluir cadenas de documentos / comentarios ubicados en un módulo, pero fuera de la clase y los métodos en Sphinx

¿Cómo puedo encontrar todos los comentarios públicos de un usuario de Github?

Obtener todos los comentarios de varios usuarios de un determinado subreddit - Reddit Dataset

modificar todos los comentarios de todas las confirmaciones de un repositorio