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 Pythonmultimedia. 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.
Fuente:http://daw-labs.com/videodown-descarga-videos-de-metacafe-dailymotion-y-muchos-sitios-mas/