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