Hola Chema.

Muchísimas gracias, funciono a la perfección.

Le quedo muy agradecido ya que me a ahorrado más tiempo investigando del que ya llevaba infructuosamente.

Si tengo que seguir viendo el código, pero me tiene un poco desconcertado ya que aunque tiene similitud con la librería original hay cambios que todavía no consigo entender.

De nuevo muchísimas gracias.

Un cordial saludo.

El 24/11/2021 a las 11:56, Chema Cortes escribió:


El mar, 23 nov 2021 a las 16:27, Héctor J. Benítez Corredera (<facturasxebo...@gmail.com>) escribió:

    Buenas desesperado de no encontrar una respuesta acudo a ustedes.

    Bien necesito extraer los comentarios de unos videos de Youtube y
    no me vale la API de Google ya que es para una aplicación y bueno
    prefiero no depender de dicha API.

    E estado buscando tanto en Github en las isos como por todo
    internet y no doy con la clave.

    Se que yt-dlp permite extraer los comentarios de un video pero por
    más que lo intento no lo consigo.

    Por lo que e estado leyendo usando la librería de manera
    aplicación así lo obtendría:

    yt-dlp --write-comments --extractor-args
    "youtube:comment_sort=top;max_comments=3;max_comment_depth=1"
    --skip-download

    Bien lo que me interesa es realmente usarlo desde Python pero no
    encuentro información por ninguna parte de como pasarle los
    parámetros para obtener los comentarios en la devolución del JSON.

    Bien el obtener los datos del video lo hago así:

    import yt_dlp as youtube_dl

    url = "https://www.youtube.com/watch?v=HqGykxomWIc";

    opciones = {'ignoreerrors': True, 'quiet': True, 'extract_flat':
    'in_playlist', 'dump_single_json': True}

    with youtube_dl.YoutubeDL(opciones) as ydl:

    r = ydl.extract_info(url, download=False)

    print(r)

    Bien sé que con getcomments se obtienen pero por más que se lo
    pongo en opciones y valor True no me devuelve los comentarios en
    el json.

    Esta librería yt-dlp la verdad que todavía no la domino y sigo
    estudiándola pero estoy atrancado en esto y la verdad no encuentro
    información y su documentación pues la verdad en Github me parece
    un poco liosa más que cuando le doy en que se agrego la extracción
    de comentarios no me da nada de información.

    Este el repo:

    https://github.com/yt-dlp/yt-dlp

    En definitiva que trae muchas cosas que la original Youtube.-dl no
    traía y estoy más perdido…

    Muchas gracias a quien pueda echarme un poco de luz y a ser
    posible si pudieseis ponerme un pequeño código de extracción de
    comentarios quedaría agradecido.

    De nuevo y por adelantado mil gracias.

    Cordiales saludos



A veces, cuando no hay documentación, la documentación es el código.

En el fichero YoutubeDL.py están las opciones que puedes usar. Entre otras, se ve que hay que usar la opción "getcomments" para extraer los comentarios, y que se debe usar la opción "writeinfojson" si queremos que se escriba a un fichero.

En tu código, obtienes la información de vídeo o vídeos, pero falta el procesado posterior. Como no quieres descargar el vídeo, hay que usar la opción "skip_download".

Todo junto:

import yt_dlp as youtube_dl


url = "https://www.youtube.com/watch?v=HqGykxomWIc";

opciones = {

'ignoreerrors': True,

'quiet': True,

'extract_flat': 'in_playlist',

'dump_single_json': True,

'getcomments': True,

'writeinfojson': True,

'skip_download': True,

}


with youtube_dl.YoutubeDL(opciones) as ydl:

r = ydl.extract_info(url, download=False)

ydl.process_info(r)



En realidad, ya habíamos indicado que no descargara el vídeo, por lo que se podría haber hecho en un sólo paso:

with youtube_dl.YoutubeDL(opciones) as ydl:

ydl.extract_info(url)




--
Hyperreals *R  "Quarks, bits y otras criaturas infinitesimales": https://blog.ch3m4.org Buscador Python Hispano: http://busca.ch3m4.org <https://blog.ch3m4.org/pages/busqueda-python-es/>

_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

Responder a