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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... 24
31  Programación / Scripting / [Python] SharkTube: ¡Descarga vídeos de YouTube! en: 23 Abril 2011, 07:22 am


SharkTube es una utilidad o aplicación gratuita que te permite descargar vídeos de YouTube.
Citar
NOTA: Esta utilidad se encuentra registrada en SafeCreative bajo la licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0.

Sus características y mejoras son:
  • Más servidores de YouTube.
       
  • Disponibilidad de formatos FLV, MP4, entre otros. *
       
  • Ejecutable por línea de comandos y alternativa con Interfaz web.
  • Mejor rendimiento en la búsqueda de servidores.
  • Extracción de título, descripción y enlace corto.
  • Posibilidad de compartir el vídeo en servicios sociales.

Shark.py
Código
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  4. #   Written by SebastiᮠCastaᯠ(.:WindHack:.)
  5. #             DaW - Labs & Cibernodo
  6. #   - www.daw-labs.com | | www.cibernodo.net  -
  7. #           Version: 1.1 ( Renaissance )
  8. #              Interactive Console
  9. # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  10.  
  11. import urllib
  12. import re
  13.  
  14. bLogo = '''
  15. .--. .-.               .-.   .-----.    .-.
  16. : .--': :               : :.-.`-. .-'    : :
  17. `. `. : `-.  .--.  .--. : `'.'  : :.-..-.: `-.  .--.
  18. _`, :: .. :' .; ; : ..': . `.  : :: :; :' .; :' '_.'
  19. `.__.':_;:_;`.__,_;:_;  :_;:_;  :_;`.__.'`.__.'`.__.'
  20. (C) DaW - Labs & Cibernodo.
  21.  
  22. Welcome!
  23. NOTE: Enter -e or --end to exit the application.
  24.        '''
  25.  
  26. Char = ['%3A','%2F','%26','%2C','%3D','%252C','%253A','%7C','%3F']
  27. By =   [':','/','&',',','=',',',':','<begin>','?']
  28.  
  29.  
  30. def URLDecode(sURL):
  31.    for i in range(len(Char)):
  32.        sURL = sURL.replace(Char[i],By[i])
  33.    return sURL
  34.  
  35. def CleanData(sData,IsHTML=True):
  36.    if IsHTML == True:
  37.        rReg = re.compile(r'\&.*?;')
  38.    else:
  39.        rReg = re.compile(r',[0-9].?')
  40.    return rReg.sub('',sData)
  41.  
  42. def GetSourceCode(sURL):
  43.    try:
  44.        URL = urllib.urlopen(sURL)
  45.        sSource = URL.read()
  46.        URL.close()
  47.        return sSource
  48.    except:
  49.        print '[+] Connection error.'
  50.        exit()
  51.  
  52. def GetIndexVideo(sSource,Tags):
  53.    return sSource.find(Tags)
  54.  
  55. def GetVideoInformation(sSource):
  56.    sSource = sSource[2000:4500]
  57.    sInfo = []
  58.    #Title...
  59.    sReg = re.findall(r'<meta property="og:title" content="(.+)">',sSource)
  60.    sInfo.append(sReg[0])
  61.    #Shortlink...
  62.    sReg = re.findall(r'<link rel="shortlink" href="(.+)">',sSource)
  63.    sInfo.append(sReg[0])
  64.    #Description...
  65.    sReg = re.findall(r'<meta property="og:description" content="(.+)">',sSource)
  66.    sInfo.append(CleanData(sReg[0]))
  67.    return sInfo
  68.  
  69. def GetDownloadURL(sSource,sTitle):
  70.    sSource = sSource[10000:18000]
  71.    Begin = GetIndexVideo(sSource,'width="640" id="movie_player" height="390"    flashvars=')+57
  72.    sSource = sSource[Begin:]
  73.    End = GetIndexVideo(sSource,'allowscriptaccess="always" allowfullscreen="true"')+49
  74.    sSource = sSource[:End].split('<begin>')
  75.    lClean = []
  76.    sTitle = '&title='+sTitle.replace(' ','%20')+'%20[SharkTube]'
  77.    for i in sSource:
  78.        if i.startswith('http://v') and len(i) < 400:
  79.            lClean.append(CleanData(i,IsHTML=False)+sTitle)
  80.    return lClean
  81.  
  82. def __main__():
  83.    print bLogo
  84.    while 1:
  85.        Id = raw_input('Please, enter the YouTube Id. >> ')
  86.        if Id == '-e' or Id == '--end':
  87.            print 'Thank you for using SharkTube. Goodbye'
  88.            exit(1)
  89.        else:
  90.            if len(Id) == 11:
  91.                try:
  92.                    Source = URLDecode(GetSourceCode('http://www.youtube.com/watch?v='+Id))
  93.                    lInfo = GetVideoInformation(Source)
  94.                    URL = GetDownloadURL(Source,lInfo[0])
  95.                    print '''
  96.  
  97.            -*- Video Information -*-
  98.  
  99. Title: %s
  100. Shortlink: %s
  101. Description:
  102. %s
  103.  
  104. Link(s) available(s) to download:
  105. %s
  106.  
  107.          ''' % (lInfo[0],lInfo[1],lInfo[2],'\n\n'.join(URL))
  108.                except IndexError:
  109.                    print 'Wrong Id. Please, try again...'
  110.            else:
  111.                print 'The ID must be eleven characters. Try again...'
  112.  
  113. if __name__ == "__main__":
  114.   __main__()

Captura


Para usar la versión de Interface Web ( Captura superior ) se debe de descargar el proyecto con todo lo necesario del siguiente enlace: http://db.tt/Jtq2sAA

Más información:
- DaW - Labs | SharkTube: ¡Descarga vídeos de YouTube!
- Cibernodo | SharkTube: ¡Descarga vídeos de YouTube!

Eso es todo, espero les sea de ayuda y le puedan sacar provecho.
Por último, agradecimiento especial a 5475UK1 por la ayuda en el diseño y creación del logo.




Saludos.,
32  Programación / Programación General / Re: Pascal , ayuda en: 24 Marzo 2011, 22:06 pm
No puedes modificar el valor de una variable en un argumento de un/a procedimiento/función y menos la perteneciente al bucle for.

Lo único que se me ocurre para ayudarte un poco (- partiendo que quizá es una tarea -) es decirte que hagas el uso de la condicional If-Then y el operador matemático mod. Mira que los números curiosamente son impares.


Saludos.,
33  Programación / Programación Visual Basic / Re: Sacar numeros de una ecuacion? reto? en: 12 Marzo 2011, 03:42 am
HOLA!!!

Creo que las expresiones que puso se suponia que iban igualadas a 0 osea...

Un número puede alterar todo y no podemos suponer que existe "otro" por ahí. Así que hay que ser concretos y conciso.  ;)
34  Programación / Programación Visual Basic / Re: Sacar numeros de una ecuacion? reto? en: 12 Marzo 2011, 01:05 am
Ahí no hay una ecuación. Las ecuaciones son igualdades entre expresiones algebraicas ( 6x + 6 = 18 )

35  Programación / Programación Visual Basic / Re: [Reto] Show My Source Code. en: 22 Febrero 2011, 19:54 pm
@BlackZeroX:
- Dime como quieras.


Uhmmm, por lo que veo, sólo valen los comentarios de algunos pocos, los otros si son delito y lo peor, pero bueno, qué se va a hacer. En fin, gracias y suerte.,
36  Programación / Programación Visual Basic / Re: [Reto] Show My Source Code. en: 22 Febrero 2011, 18:04 pm
@WindHack

Como la cagas.

Dulces Lunas!¡.

No lo creo, porque simplemente reiteré lo ya dicho por otros usuarios:

Quine :-*

busca ejemplos de Quine en C++ o C# ahi vas a ver la logica de como se hacen, cuando lo veas vos lo haces en 2 lineas  :P

Daba igual haber puesto el código o no ponerlo. A fin de cuentas todos saben usar Google, y la búsqueda no tardaría ni un minuto. Pero en todo caso, esto es VisualBasic, y NUNCA he visto un Quine en ese lenguaje.
37  Programación / Programación Visual Basic / Re: [Reto] Show My Source Code. en: 21 Febrero 2011, 20:14 pm
HOLA!!!

.:WindHack:. !!! Ojo, los codigos solo se podian entregar despues del 26, eso es una gran ayuda y le quita la gracia, igual ya lo resolvi yo pero para que quites el codigo.
(aunque no sepan python igual lo van a entender).

GRACIAS POR LEER!!!

El código es de Wikipedia, cualquiera que haya leído el mensaje de Novlucker buscará y encontrará ese y muchos códigos más. Además es Python, en VBasic sería MUY diferente.  ;)
38  Programación / Programación Visual Basic / Re: [Reto] Show My Source Code. en: 21 Febrero 2011, 19:27 pm
No programo en VisualBasic pero el reto en sí está interesante.

Como Novlucker lo dijo, esto es un Quine. Para entender más fácil os dejo un código en Python:

Código
  1. a='a=%s;print a%%`a`';print a%`a`

Así que supongo que lo podréis hacer en pocas líneas de código.,
39  Programación / Ingeniería Inversa / Re: Pequeño «Krackme»… en: 21 Febrero 2011, 19:19 pm
Sí, realmente es muy sencillo... Lo hice para distraerme un rato.  :xD


Por cierto, gran pista lo que dejas PeterPunk77, ¡Jajaja!.,  :rolleyes:
40  Programación / Ingeniería Inversa / Pequeño «Krackme»… en: 21 Febrero 2011, 03:01 am
Hola a todos.



Bueno, hoy presento un «Crackme» que he desarrollado en Pascal. Es muy sencillo pero no es como los comunes ya que, para poder superar el reto es necesario realizar una secuencia en el teclado, por lo cual su validación es sólo por esta vía. Tal vez no dure ni diez o veinte minutos vivo, pero el objetivo es entretenerse un rato. Cuando lo resuelvan se darán cuenta que es muy conocido lo que han realizado.,

Clic aquí para descargar.

Nota: Quien lo resuelva, si puede dejar un tutorial de cómo lo hizo estaría muy agradecido.
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... 24
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines