Descargar mp3's desde Goear [vbscript]

Iniciado por Novlucker, 29 Julio 2008, 03:53 AM

0 Miembros y 1 Visitante están viendo este tema.

Novlucker

Un nuevo script en vbs

Este, para descargar mp3 desde Goear, al igual que para youtube, basta con modificar un poco la url, para obtener el archivo en cuestión  :P

En realidad estos archivos, luego de ser escuchados quedan guardados en los temporales, pero quizás alguien quiera bajarlos para luego escucharlos  :rolleyes:

El método, también es muy parecido al que he utilizado anteriormente para bajar los videos de youtube, y si bien, por el momento lo único que hace es hacer saltar la ventana de descarga de archivos, podría combinarse por ejemplo con wget para asi bajar los archivos a la pc, he incluso dejar una lista de archivos descargandose..... además comentar, que este mismo método lo he utilizado en otro script, para bajar archivos desde rapidshare (reconociendo el tiempo de espera), así que las posibilidades son muchas  ;D

El code de este.....

Código (vb) [Seleccionar]
'by Novlucker
Song = inputbox("Ingrese la dirección del tema a descargar..."& chr(13) & "Ejemplo: http://www.goear.com/listen.php?v=a2840d6","Goear Downloader")
Equal = instr(Song,"=")
UrLXml = mid(Song,Equal+1,len(Song)-Equal)
'Obtenemos el identificador del tema

change = "http://www.goear.com/files/xmlfiles/"
UrLXml = change & left(UrLXml,1) & "/secm" & UrLXml & ".xml"
'Generamos la url modificada

set objxml = CreateObject("Microsoft.XMLHTTP")
objxml.Open "GET",UrLXml,0
objxml.Send()

xmlcontent = objxml.responsetext
'Obtenemos el texto del xml

fpath = instr(xmlcontent,"http://")
lpath = instr(fpath,xmlcontent,"""")
'Buscamos dentro del xml la posicion de algunos caracteres

mp3path = mid(xmlcontent,fpath,lpath-fpath)
'Extraemos la direccion del tema

set objbrowser = createobject("internetexplorer.application")
objbrowser.navigate mp3path
'Navegamos hasta la direccion

On error resume next

Do While objbrowser.Busy
WScript.Sleep 200
Loop

objbrowser.quit
'Salta la ventana de descarga y terminamos el objeto del iexplorer


La idea de este script vino a raíz de una consulta de Martín Fierro en la que consultaba por este tema, justamente porque también intentaba crear un downloader para estos archivos, pero en vb.net, así que gracias a él además, por la idea, y por proporcionarme la info sobre que cambios había que hacerle a la url

Eso fue todo, un ejemplo más de *.vbs  ;)

Saludos

30/04/09: Edito código fuente para contemplar cambios en URL
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

carlitos.dll

Oye Novlucker, podrías tener un blog o un repositorio con tus codes, para consultarlos.

Novlucker

 :P, no se me había ocurrido, es que en realidad, me pase buen tiempo sin aportar mucho al foro, y desde hace algún tiempo estoy realmente activo en lo que refiere al scripting, y creo que por otro lado, algunos preguntan por *.vbs, y hay buenos tutos de batch scripting, pero no de vbscript, y que hay que juntar la info por partes como me pasó a mi  :-\, así que quizás lo tenga en cuenta....

Gracias carlitos.dll

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Zaraki_lkenpachi

Sisi create un Blog tienes muchos code's eres bueno en eso y en la recopilacion de Scripting no veo nada sobre VBS .. m ayudarias en mucho  :xD y claro a todos creando tu blog para orientarnos ...  ;)


Martín Fierro

Ok, aunque un poquito tarde les dejo el tema donde ya colgue el programa al que se refiere novlucker. Está Acá....

Por cierto la técnica para hacer el programa en vbasic es la misma que usa novlucker, y como si hubieramos pensado lo mismo yo incluyo el wget para bajar el archivo..

Y no me importa nada..

Novlucker

CitarPor cierto la técnica para hacer el programa en vbasic es la misma que usa novlucker, y como si hubieramos pensado lo mismo yo incluyo el wget para bajar el archivo..

;D, yo lo dejé como comentario nada más, tu lo has implementado...

Es que en vbs conozco solamente tres maneras de descargar un archivo...


  • Por medio de los objectos Microsoft.XMLHTTP y ADODB.Stream, uno para solicitar los datos, y el otro para rearmarlos, pero el AV lo detecta como downloader
  • Utilizando el mismo método que en este script, y si se quiere automatizar, se puede guardar el archivo por medio de sendkeys, pero no puede haber nadie en la pc, sino parecerá que el teclado esta "loco"
  • Y la última, por medio de terceros programas  :P, y en este caso el wget haría muy bien su trabajo y desde el vbs alcanzaría con un simple run, o bien un exec (mejor) para poder detectar el estado de la descarga

Muy bien Martín Fierro, a mi también me gusta crear cosas útiles de vez en cuando pero me voy quedando sin ideas XD

Saludos

P.D: Verificar link's Rapidshare,Megaupload, y otros en vbs   :rolleyes:
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

leonardoXY

Buenas, estaba nuscando un script que averiguara la url real donde se aloja el archivo mp3, y la verdad que este es bastante simple pero eficaz, aunque ahora que estoy viendo los links de goear, veo que hay links del tipo

http://www.goear.com/listen/xxxx/nombre-de-la-cancion

y claro, el script no soporta este tipo de enlaces, por lo que habría que convertirlo un poco, quitar el nombre del final y cambiar /listen/xxxx por listen.php?v=xxxx

Me he permitido modificar un poquito el inicio del script para que soporte este tipo de enlaces. el script quedaría de la siguiente forma:


'by Novlucker
Song = inputbox("Ingrese la dirección del tema a descargar..."& chr(13) & "Ejemplo: http://www.goear.com/listen.php?v=a2840d6","Goear Downloader")

'------------------------------------------------------------------------------
'Trozo modificado
Song = LCase(Song)
If InStr(Song, "v=") = 0 Then
  If InStr(Song, ".com/listen/") > 0 Then
    Tmp = Mid(Song, InStr(Song, ".com/listen/") + 12)
    Tmp = Mid(Tmp, 1, InStr(Tmp, "/") - 1)
    Song = "http://www.goear.com/listen.php?v=" & Tmp
  End If
End If
'------------------------------------------------------------------------------



Equal = instr(Song,"=")
UrLXml = mid(Song,Equal+1,len(Song)-Equal)
'Obtenemos el identificador del tema

change = "http://www.goear.com/files/xmlfiles/"
UrLXml = change & left(UrLXml,1) & "/secm" & UrLXml & ".xml"
'Generamos la url modificada

set objxml = CreateObject("Microsoft.XMLHTTP")
objxml.Open "GET",UrLXml,0
objxml.Send()

xmlcontent = objxml.responsetext
'Obtenemos el texto del xml

fpath = instr(xmlcontent,"http://")
lpath = instr(fpath,xmlcontent,"""")
'Buscamos dentro del xml la posicion de algunos caracteres

mp3path = mid(xmlcontent,fpath,lpath-fpath)
'Extraemos la direccion del tema

set objbrowser = createobject("internetexplorer.application")
objbrowser.navigate mp3path
'Navegamos hasta la direccion

On error resume next

Do While objbrowser.Busy
WScript.Sleep 200
Loop

objbrowser.quit
'Salta la ventana de descarga y terminamos el objeto del iexplorer


Un saludo


Novlucker

Bien hecho!

Es el problema que tienen estos scripts, que es la página (en este caso Goear) el que decide como agrupa y maneja su información (url/links) y a nosotros nos toca averiguar justamente que es lo que hace, pero nada nos asegura que la web no lo cambie en algún momento, es más, seguramente lo hagan  :¬¬, así que hay que estar continuamente actualizando

Gracias!

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein