elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24
91  Programación / Scripting / Re: [Python] WS Downloader: ¡Descarga vídeos de YouTube! en: 18 Noviembre 2010, 20:11 pm
Al principio traté de hacer una función que me limpiara todos los valores codificados, muy parecida a la que has puesto pero lastimosamente no me dio el resultado que esperaba ya que me complicó un poco más todo (¡Jejeje!).

Con el resultado poco satisfactorio tomé la decisión de hacer la función usando listas, pues me sirvió y ayudó bastante para obtener la URL del vídeo más fácilmente, aunque como bien dices, no podía contemplar todos los valores posibles pero sí los estrictamente necesarios. Además podía establecer la igualdad que yo quisiera. Por ejemplo %7C le puse como valor <begin> Lo que me indicaba que allí empezaba el enlace hacia el servidor. ¡Jejejeje!


De todos modos...¡Muchas gracias Novlucker!  ;D
92  Programación / Scripting / [Python] WS Downloader: ¡Descarga vídeos de YouTube! en: 18 Noviembre 2010, 15:29 pm
Código
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # WS Downloader.py - v0.1 (Beta)
  4. # Autor(es): .:WindHack:. & swik
  5. # www.daw-labs.com | www.cibernodo.net
  6. # Registrado en SafeCreative
  7. # Licencia: Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0
  8. # 17/11/2010
  9.  
  10. import sys, urllib, os
  11.  
  12. #
  13. # @Charset
  14. #
  15. Char = ['%3A','%2F','%26','%2C','%3D','%252C','%253A','%7C','%3F']
  16. By =   [':','/','&',',','=',',',':','<begin>','?']
  17.  
  18. #
  19. # URLDecode(sURL)
  20. # Descifra la URL teniendo en cuenta el Charset.
  21. #
  22. def URLDecode(sURL):
  23.    for i in range(len(Char)):
  24.     sURL = sURL.replace(Char[i],By[i])
  25.    return sURL
  26.  
  27. #
  28. # GetSourceCode(sURL)
  29. # Obtiene el código de fuente del vídeo (sitio).
  30. #
  31. def GetSourceCode(sURL):
  32.    try:
  33.     URL = urllib.urlopen(sURL)
  34.     sSource = URL.read()
  35.     URL.close()
  36.     return sSource
  37.    except:
  38.        print 'Error de conexión.'
  39.        exit()
  40.  
  41. #
  42. # GetIndexVideo(sSource,Tags)
  43. # Obtiene la posición de un "Tag" o etiqueta.
  44. #
  45. def GetIndexVideo(sSource,Tags):
  46.    return sSource.find(Tags)
  47.  
  48. #
  49. # GetVideoTitle(sSource)
  50. # Obtiene el título del vídeo.
  51. #
  52. def GetVideoTitle(sSource):
  53.    sSource = sSource[2000:5500]
  54.    Begin = GetIndexVideo(sSource,'<meta name="title" content="')+28
  55.    sSource = sSource[Begin:]
  56.    End = GetIndexVideo(sSource,'>')-1
  57.    sSource = sSource[:End]
  58.    if ' ' in sSource:
  59. sSource = sSource.replace(' ','_')
  60.    return sSource
  61.  
  62. #
  63. # GetVideoURL(sSource)
  64. # Obtiene la URL de descarga del vídeo.
  65. #
  66. def GetVideoURL(sSource):
  67.    sSource = sSource[9000:30000]
  68.    Begin = GetIndexVideo(sSource,'<begin>')+7
  69.    sSource = sSource[Begin:]
  70.    End = GetIndexVideo(sSource,'id=')+19
  71.    sSource = sSource[:End]+'&title=Video(WS_Downloader)'
  72.    return sSource
  73.  
  74.  
  75. #
  76. # GetSavePath(Title)
  77. # Obtiene la ruta en la cual se guardará el vídeo, teniendo en cuenta
  78. # el sistema operativo.
  79. #
  80. def GetSavePath(Title):
  81.    if os.name == 'posix':
  82. return os.getenv('HOME')+'/'+Title+'.flv'
  83.    if os.name == 'nt':
  84. return os.getenv('HOMEDRIVE')+'\\'+Title+'.flv'
  85.  
  86. #
  87. # DownloadStatus(Bloque, Tamano, Total)
  88. # Muestra el estado de la descarga.
  89. #
  90. def DownloadStatus(Bloque, Tamano, Total):
  91.    Cantidad = Bloque * Tamano / 1024000.0
  92.    Total = Total / 1024000.0
  93.    print 'Cantidad descargada: %s MB de %s MB ...' % (round(Cantidad,1),round(Total,1))
  94.    if Cantidad >= Total:
  95.        print 'Descarga finalizada.'
  96.  
  97. #
  98. # DownloadVideo(sURL, sName, sStatus)
  99. # Descarga el vídeo de los servidores de YouTube.
  100. #
  101. def DownloadVideo(sURL, sName, sStatus):
  102.    try:
  103.        Download = urllib.urlretrieve(sURL, sName, sStatus)
  104.        return Download[0]
  105.    except:
  106.        print 'Error el descargar.'
  107.        exit()
  108.  
  109. def __main__():
  110.    __Help__ = '''
  111. __        ______    ____                      _                 _
  112. \ \     / / ___|  |  _ \ _____      ___ __ | | ___   __ _  __| | ___ _ __
  113. \ \ /\ / /\___ \ | | | |/ _ \ \ /\ / / '_ \| |/ _ \ / _` |/ _` |/ _ \ '__|
  114.  \ V  V /  ___) | | |_| | (_) \ V  V /| | | | | (_) | (_| | (_| |  __/ |  
  115.   \_/\_/  |____/  |____/ \___/ \_/\_/ |_| |_|_|\___/ \__,_|\__,_|\___|_|  
  116.    © Cibernodo & DaW - Labs
  117.    Uso:
  118.    ./WS_Downloader.py <Opción> <Id>
  119.  
  120.    Opciones:
  121.        -D     : Descargar video directamente.
  122.        -G     : Obtener URL de descarga.
  123.        -help  : Ver Ayuda.
  124.               '''
  125.  
  126.    try:
  127.        Opt = sys.argv[1]
  128.        if Opt == '-help':
  129.            print __Help__
  130.  
  131.        if len(sys.argv) > 2:
  132.            Id = URLDecode(GetSourceCode('http://www.youtube.com/watch?v='+sys.argv[2]))
  133.            Title = GetSavePath(GetVideoTitle(Id))
  134.            URL = GetVideoURL(Id)
  135.  
  136.            if Opt == '-G':
  137.                print '======== Video URL ========\n',URL
  138.  
  139.            elif Opt == '-D':
  140.                DownloadVideo(URL,Title,DownloadStatus)
  141.  
  142.    except:
  143.        print __Help__
  144.  
  145. if __name__ == "__main__":
  146.   __main__()
  147.  
  148.  
  149.  
  150.  

Más Información:
DaW - Labs | WS Downloader: ¡Descarga vídeos de YouTube!
Cibernodo | WS Downloader: ¡Descarga vídeos de YouTube!
93  Foros Generales / Dudas Generales / Re: [Pregunta] Tema [Troyanos,Keylogger,Otros] en: 18 Noviembre 2010, 04:55 am
¿Sabes algo?... Lo único que te entendí fue el: Hola.

No entiendo tu problema pero en todo caso, en este foro no se tratan esos temas. Si quieres espiarle el correo a tu novia, puedes ir buscando en el directorio otro lado para este tipo de ¿dudas?.





Saludos.,
94  Media / Multimedia / Re: Ayuda con formato de vídeo desconocido [.PIC] en: 15 Noviembre 2010, 15:24 pm
Prueba con alguno que pone en la siguiente lista:

http://www.fileinfo.com/extension/pic




Saludos.,
95  Programación / Scripting / Re: [Python] Crear una lista a partir de una cadena en: 15 Noviembre 2010, 04:55 am
El error es prácticamente una tontería. Está en que, pides la variable K como una cadena (str).

Código
  1. #Introduccion de una cadena
  2. cadena = raw_input('Escribe una cadena: ')
  3. k = raw_input('Escribe un numero: ') # k = input('')
  4. lista= cadena.split()
  5. for i in range(len(lista)):
  6.    #print len(lista[i])
  7.    if len(lista[i])==k:
  8.         palabras+=1

En todo caso, podrías hacer un poco más limpio el código. Con el bucle for-in puedes recorrer directamente cada elemento de la lista.

Por ejemplo:
Código
  1. sString = raw_input('Escribe una cadena: ')
  2. List = sString.split()
  3. K = input('Escribe un numero: ')
  4. sWords = 0
  5.  
  6. for i in List:
  7.    if len(i) == K:
  8. sWords += 1



Saludos.,
96  Programación / Scripting / Re: [Python] - Eliminar listas y par en: 14 Noviembre 2010, 23:00 pm
De nada.  :D
97  Programación / Scripting / Re: [Python] - Eliminar listas y par en: 14 Noviembre 2010, 21:57 pm
No, no es así: Lo he estado probando a mi manera y no.

El resultado debe ser así.
Citar
[2, 5, 3]

Mirando lo que significa remove. ME imagino que quitar, eliminar. Aquí hay tantas cosa que no se done pinchar.
http://docs.python.org/search.html?q=remove

Gracias por tu tiempo.

Perdón, fue error mío al no leer el enunciado del ejercicio. Entendí que se debía eliminar los números pares de la lista, cuando lo que pedían era remover los elementos que tuviesen un índice par.

Bueno, creo que de esta manera funciona bien:

Código
  1. List = [1, 2, 1, 5, 0, 3]
  2.  
  3. i = 0
  4. while (i < len(List)):
  5. del List[i]
  6. i += 1
  7.  
  8. print List

Código
  1. C:\Users\WindHack\Desktop\>PoC.py
  2. [2, 5, 3]
98  Programación / Scripting / Re: [Python] - Eliminar listas y par en: 14 Noviembre 2010, 19:55 pm
El código está mal. Es así:

Código
  1. List = [1,2,3,4,5,6,7,8,9,10]
  2.  
  3. for i in List:
  4.    if i % 2 == 0:
  5.        List.remove(i)
  6.  
  7. print List
99  Programación / Scripting / Re: [Python] Listas y números primos. en: 14 Noviembre 2010, 04:25 am
Hay un error, no todos los números primos son los que dan como resto uno (1).

Tu código da como resultado: [1,3,5,7,9] cuando debería de dar [2,3,5,7]. Ya que uno (1) no es considerado ni primo, ni compuesto, la cuenta empieza desde dos (2), siendo este el primer y único número primo par.
100  Programación / Scripting / Re: [Python] Comparar listas de palabras en: 14 Noviembre 2010, 03:26 am
Realmente el código no es extenso. A mí se me ocurrió hacerlo de la siguiente manera:

Código
  1. sString = raw_input('Cadena: ') # Pedimos la cadena...
  2. sString = sString.lower() # Convertimos a minusculas...
  3. lListA = sString.split() # Creo la lista con todos los elementos de la cadena...
  4. lListB = [] # Lista vacia
  5.  
  6. for i in lListA: # Recorro la lista original
  7. if i not in lListB: # Si el elemento no esta en la otra lista...
  8. lListB.append(i) #... lo agrego
  9.  
  10. print lListB
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines