Verificar link's Rapidshare,Megaupload, y otros en vbs

Iniciado por Novlucker, 28 Julio 2008, 19:11 PM

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

Novlucker

Buenas a todos...

En este caso, escribo para pedir su colaboración  :P, si son de descargar archivos frecuentemente de internet, a más de uno le habrá pasado conseguir un archivo o imagen iso de 15, 20 o más link's.
Esto, si bien es molesto, no hay más remedio que soportarlo.... pero cual es el problema? cuando bajamos 20 archivos, y el 21 de 22, esta caído!!!  >:(.
El caso es que he encontrado algunas web's donde se verifica la disponibilidad de estos archivos, pero igualmente hay veces en las que están fuera de servicio y demás, lo que impide verificar nada....

Por lo que .. me he creado un script *.vbs para poder verificar por mi mismo  ::), y no depender de ningún servidor ajeno  ;D, la cuestión, es que necesito de su colaboración para verificar el correcto funcionamiento de este script, por lo que le pido a todos aquellos que puedan probarlo, que lo hagan y me digan que tal les ha ido  :P

Para poder utilizarlo correctamente, deben de tener permisos de escritura en el disco C:, o bien, cambiar las rutas C:\origen.txt y C:\destino.txt que están en las primeras líneas del archivo, por rutas con las que no tengan problemas  :rolleyes:.

Además, el archivo origen.txt, es justamente un archivo de texto plano, contiendo los link's del siguiente modo (no pueden haber líneas en blanco)

http://www.megaupload.com/?d=SUQU3VME
http://www.gigasize.com/get.php?d=ynybwf3gq0b
http://rapidshare.com/files/130649903/Hard_Drive_Inspector_Pro_2.98_Build_475_2b.rar


Permite mezclar distintos servidores como está en el anterior ejemplo

Luego de ejecutarlo, y al cabo de unos segundos, debe de saltar un mensaje, informando de la cantidad de link's activos, y no activos, y también debe de haberse creado el archivo destino.txt, en donde habrá un listado con el resultado de cada link

El código del vbscript es este....

Código (vb) [Seleccionar]
set objfso = createobject("scripting.filesystemobject")

listd = replace(wscript.scriptfullname,wscript.scriptname,"")

if objfso.fileexists(listd & "\links.txt") then

set origen = objfso.opentextfile(listd & "\links.txt",1)
set destino = objfso.createtextfile(listd & "\checked.txt",true)

mensaje = createobject("wscript.shell").popup("Comenzará la verificación de los link's...",2,"vbs Link's Checker",64)

activos = 0
inactivos = 0

do until origen.atendofstream

urlfile = origen.readline
servers = array("rapidshare","filefactory","megaupload","mediafire","gigasize","zshare","badongo","depositfiles","filefront","sendspace")
search = array("dl.start","basiclink","captchafrm","download_link","btnlogin","id=""download""","fileboxdlink","gateway_form","downloadarea","spn_download_link")

urlserver = replace(replace(urlfile,"http://",""),"www.","")
point = instr(urlserver,".")

if point > 0 then
urlserver = replace(urlserver,mid(urlserver,point,len(urlserver)-point+1),"")
end if

i=0

for each s in servers
if s = urlserver then
exit for
else
i = i + 1
end if
next

if i < 10 then

Set objxmlHTTP = CreateObject("Microsoft.XMLHTTP")
objxmlHTTP.open "GET", urlfile, 0
objxmlHTTP.send()

if instr(lcase(objxmlHTTP.responsetext),search(i)) > 0 then
destino.writeline urlfile & " - ACTIVO"
activos = activos + 1
else
destino.writeline urlfile & " - INACTIVO"
inactivos = inactivos + 1
end if

end if

loop

origen.close
destino.close

mensaje = createobject("wscript.shell").popup("Proceso terminado:" & chr(13) & "Activos: " & activos & chr(13) & "InActivos: " & inactivos,10,"vbs Link's Checker",64)

else

mensaje = createobject("wscript.shell").popup("No se ha podido localizar el archivo ""links.txt""" & chr(13) & "Verifique su existencia por favor...",10,"vbs Link's Checker",48)

end if


Bueno, en definitiva, eso....

Decir además, que como se puede llegar a ver en el código, tiene soporte para los servidores de rapidshare.com, rapidshare.de ,filefactory ,megaupload ,mediafire ,gigasize ,zshare ,badongo ,depositfiles ,filefront ,sendspace, pero se le podrían agregar algunos más, y si está todo ok, comento el code  ;)
Desde ya, muchas gracias a aquellos que hagan la prueba con el script... y saludos a todos  ;D

[Modifico:] He solucionado los problemas que me ha comentado carlitos.dll
Nota: El archivo origen.txt se renombró a links.txt y no tiene que estar en C: sino en la misma carpeta que el script
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

Funciona, pero... :D el conocido pero

El mensaje: de se está verificando... se queda pegado, o sea no se cuando termina, terminó y el mensaje sigue allí.

Lo otro:

Al final sale un mensaje diciendome:

Linea: 19
Carácter: 1
Error: Se sobrepasó el final del archivo
Código: 800A003E
Origen: Error de Microsoft VBScript en tiempo de ejecución.

Lo otro:
No se podría hacer, que pregunte la carpeta dónde tengo el archivo origen.txt
porque tuve que editar el archivo .vbs y colocarle C:\prueba\


Novlucker

#2
Muchas gracias carlitos.dll ;D

Esos pero's eran los que quería que me ayudaran a encontrar :p
CitarEl mensaje: de se está verificando... se queda pegado, o sea no se cuando termina, terminó y el mensaje sigue allí.

Eso es raro, solamente hay que darle click al mensaje, pero que termine el proceso y que siga ahí es raro, ya que ni siquiera debería de pasar.. igualmente, ya lo he arreglado y he cambiado el mensaje por un popup temporizado, así se va solo  :P

CitarAl final sale un mensaje diciendome:..........
También lo he solucionado, ese error era porque llegaba al final del archivo y no podía leer la línea  :-\

CitarLo otro:
No se podría hacer, que pregunte la carpeta dónde tengo el archivo origen.txt
porque tuve que editar el archivo .vbs y colocarle C:\prueba\

Eso, lo dejo pendiente, ya que si bien se puede hacer saltar una ventana para elegir carpeta, le agrega varias líneas más al code, y no quiero que quede tan largo  :P

Igualmente, ahora la única condición, es que el listado de link's, este en la misma carpeta que el propio script, he cambiado los nombres de los archivos, ahora el origen se llama links.txt, y el destino checked.txt (parece más profesional XD),y he agregado algunas verificaciones en el code para que no aparezcan errores

A ver que tal ahora  :rolleyes:....

Saludos

[Modifico:] He detectado dos "bug's" más en el code....


  • Si bien, los link's mostrados como Activos son 100% seguros, los InActivos no son tan seguros solo en el caso de megaupload, creo que a más de uno debe de haberle pasado que al intentar bajar algo de magaupload, le responda como que el link no esta disponible, y con refrescar la web se soluciona, este mismo problema afecta al script  :-\, pero no creo que sea de mucha importancia, ya que si hay dudas se ejecuta una segunda vez, y listo...
  • El script da error y termina si se le da un link de descarga directa, me acabo de enterar que existen XD, ej del foro de software
http://rapidshare.com/files/127847501/UI_Linux_v2008.1_Alpha.part1.rar
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

Novlucker

#3
Bueno, he vuelto a modificar el script..
Le he agregado soporte para línea de comandos y lo he dejado aquí  :P

Si se ejecuta desde ms-dos del siguiente modo...
cscript cchecker.vbs

Donde cchecker.vbs es el nombre que le hayan puesto al script, los diferentes resultados de las comprobaciones se verán en la ventana de ms-dos


El code es muy parecido al anterior, solamente he agregado algunas líneas de comprobación.....
if instr(wscript.fullname,"cscript.exe") <> 0 then
Para ver si el script se esta ejecuntado desde cscript, si no lo esta haciendo, los mensajes son los comunes que saltan por pantalla...

Eso fue todo...

Saludos

P.D:Igualmente se crea el archivo en el que se informa la situación de cada link
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