VideoDown!: descarga videos de Metacafe, DailyMotion, y muchos sitios más
Así es, he programado éste script en Python que permite descargar videos de muchos sitios
multimedia. Un agradecimiento especial a Flash Video Downloader ya que él nos dá la URL de descarga.
El funcionamiento es sencillo y tan sólo consta de tres parámetros, los cuales son:
- -D : Descarga el video automáticamente y lo guarda en el disco local C, con el nombre de: Video_by_VideoDown.flv
Su uso es: VideoDown.py -D <URL> - -O : Obtiene sólo la URL de descarga.
Su uso es: VideoDown.py -O <URL> - -H : Muestra la ayuda.
Su uso es: VideoDown.py -H
Como ven, es una aplicación (código) bastante útil.
No siendo más aquí adjunto el código fuente y el archivo .RAR (Por si les dá pereza copiar el código en el bloc de notas y guardarlo con extensión
) que además cuenta con la lista de sitios soportados.
#!/usr/bin/python # -*- coding: utf-8 -*- # VideoDown.py - DaW - Labs # Autor: .:WindHack:. # 22/07/2010 - www.daw-labs.com # Puede usar, modificar y redistribuir éste código # siempre y cuando respete los derechos de autor. import sys, urllib from sgmllib import SGMLParser class Parser(SGMLParser): def reset(self): SGMLParser.reset(self) self.urls = [] def start_a(self, attrs): href = [v for k, v in attrs if k=='href'] if href: self.urls.extend(href) def DownloadStatus(Bloque,Tamano,Total): Cantidad = Bloque * Tamano / 1024 Total = Total / 1024 print 'Cantidad descargada: %s KB de %s KB ...' % (Cantidad,Total) if Cantidad > Total: print 'Descarga finalizada.' def DownloadVideo(URL, Name, Status): try: Download = urllib.urlretrieve(URL, Name, Status) return Download[0] except: return 'Ha sucedido un error en la descarga.' def GetDownloadURL(URL,Download): if len(URL) != 0: URLv = urllib.urlopen('http://www.flashvideodownloader.org/download2.php?u=%s' % URL) DownloadURL = Parser() DownloadURL.feed(URLv.read()) DownloadURL.close() URLv.close() URL = DownloadURL.urls[8] if Download == True: DownloadVideo(URL,'C:\Video_By_VideoDown.flv',DownloadStatus) else: return 'La URL de descarga es:\n%s' % URL else: return 'URL inválida...' def __main__(): __Ayuda__ = ''' VideoDown! © 2010. DaW - Labs - www.daw-labs.com Uso: VideoDown.py Opciones: -D : Descarga un video. -O : Obtiene sólo la URL de descarga. -H : Muestra la ayuda. ----------------------------------------------------------- Para ver la lista de sitios soportados abra el archivo: Supported Sites.txt ''' try: Opc = sys.argv[1] if Opc == '-H': print __Ayuda__ elif Opc == '-D': GetDownloadURL(sys.argv[2],True) elif Opc == '-O': print GetDownloadURL(sys.argv[2],False) else: print 'Se esperaba un parámetro...' except: print __Ayuda__ if __name__ == "__main__": __main__()
Nota: Si lo van a usar en otro sistema operativo diferente a Windows, hay que cambiar la ruta donde se guardará el video.
| Este artículo fue publicado por WindHack el 22 julio, 2010 a las 4:37 PM, y está archivado en Programación, Python. Sigue las respuestas a esta entrada a través de RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio. |









hace 1 año
“Nota: Si lo van a usar en otro sistema operativo diferente a Windows, hay que cambiar la ruta donde se guardará el video.”
Y porque no haces eso dinámico, no crees que es mejor para el usuario ?
Saludos………………8)
hace 1 año
Cierto!, no lo había pensado…
Muchas gracias [p3ll3]…
Saludos,
hace 1 año
O.o muy bueno el código, gracias
hace 1 año
Me alegra que te agrade el código. Gracias a vos.
hace 2 meses
Hello, I have been reading and enjoying your articles for some time now. I appreciate your outlook on the topics. I’m finally planning to bookmark your site so I can keep coming back. I continuously stumble upon it and keep thinking it’s valuable but never saving it. See you next time! Keep providing us with these great articles!