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.