miércoles, 22 de julio de 2009

Bajar la cuerda.

Pues me ha pasado muchas muchas veces que estando con mi compadre, que tenemos la lap y las guitarras en la escuela (ESCOM) o en otros lugares y vamos tocando rolas mientras las vemos en lacuerda.net, esto esta muy bien, pero hay un inconveniente... la red de ESCOM es muy lenta la mayoria de las veces, a veces ni siquiera nos podemos conectar, y cuando estamos en otros lugares ni siquiera tenemos acceso a internet, desafortunadamente no nos sabemos las canciones, pero las sabemos :P osea la sabemos pero necesitamos una recordadita (acordes o letra... o ambas) entonces un dia que estaba de ocioso intente bajar la cuerda con un wget, y despues de dejarlo correr un rato me di cuenta que no estaba bajando ninguna tablatura, si alguien lo ha intentado sabe de lo que estoy hablando, asi que hice un script en php que bajaba las tabs de un artista, todo lo ponia en pequeños html... pero me di cuenta que eso era mucho espacio, ademas el algoritmo no era muy bueno :P asi que hice una segunda version, que baja toda la cuerda! :D y la guarda en mysql, corri el script (se tardo un poco mas de 15 horas) y la cuerda ya estaba en mi computadora, despues me di cuenta que necesitaba hacer una minipagina que me permitiera usar esa informacion, asi que la hice (tambien en php) "y pues nada" que ya funciona, baje la cuerda la semana pasada, pero los artistas que yo uso no se actualizan muy seguido asi que creo que para mi esta bien, si alguien quiere cooperar con la causa y encuentra una manera de actualizar la bd sin que tarde tanto pues adelante! :D si no, seria cosa de bajar toda la cuerda de vez en cuando, aqui les dejo el link para descargarlo-->

http://www.megaupload.com/?d=AHTGEMVT


El zip pesa un poco menos de 50 megas, dentro hay dos carpetas y un archivo, el archivo es la base de datos, solo queda importarla, en la carpeta script esta el script para bajar toda la cuerda, si no se quiere bajar toda la cuerda y solo una "letra" (todos los artistas que empiezen con a) hay una linea dentro del escript que tiene un array con el listado de las letras, ya solo quitan las que no quieran y lo corren, para correr el script se necesita "wget" (lo siento usuarios windows, no corre ahi... a menos que lo adapten), para ejecutarlo se necesita el php-cli (command line interpreter).

Y en la carpeta lacuerdaweb esta la pagina que usa la informacion, no esta bonita, pero funciona, ahi chequenla, para poder usarla se necesita un servidor con soporte php-mysql (apache y otros, si se puede instalar en windows :P ).

Cualquier duda, bug, aclaracion o peticion haganla por aqui, si alguien quiere hacerlo o si lo piden y tengo tiempo a la mejor estaria bien pasarla toda a html para que nada mas sea de copiar y pegar, espero que esto le sea util a alguien por ahi, y platiquen como les fue :P

PD: Se tiene que editar unas la linea 258 y 259 de funciones.php (en script) con la informacion del usuario contraseña y base de datos de mysql, lo mismo en funciones.php en lacuerdaweb en la linea 2 y 3.

13 comentarios:

  1. si se a lo que te refieres cuando no baja tabs jejeje

    gracias por el script lo voi a probar..

    cuanto pesa toda la cuerda???

    ResponderEliminar
  2. pd: se me complico este asunto podrias decirme un poco mas detallado como usar el script

    ResponderEliminar
  3. segunda postdata:

    tengo el wget de windows

    ResponderEliminar
  4. hola, perdon por la tardanza, por tu primera pregunta, el archivo que subi contiene la cuerda completa que baje ese día, aunque viendo algunos artistas no se bajo completa completa seguramente por algunos problemas de la coneccion, y por parte del script, para empezar tienes que tener mysql, php, wget y por supuesto la coneccion php-mysql, y php-cli, editar las lineas 258 y 259 con tu nombre de usuario, contraseña y nombre de la base de datos de mysql, y si estas corriendo en windows, debes de tener en cuenta que la funcion wget sea accesible desde php, osea que puedes cambiar el path de tu windows para encontrar wget o dar la ruta completa a wget en cada aparicion en el script, y para ejecutarlo tiene que irte a tu cmd (INICIO-> ejecutar->cmd) y ejecutar C:\PHP\php-cli funciones.php, si lo tienes si no lo tienes en tu path, si lo tienes solamente php-cli funciones.php, la verdad es que no se muy bien como correrlo en windows por que no lo he hecho, pero si me mandas la informacion de tu servidor (IIS, apache... etc) sistema operativo y los mensajes de errores que genera el script te puedo ayudar mas especificamente.
    Suerte!!! :D

    ResponderEliminar
  5. mira..
    tengo xp,
    instale apache
    instale php
    instale mysql
    tengo todo configurado(eso creo)

    1) probe usando tu base
    abri el index que creaste y mi mi explorador lo interpreto bien (significa que quedo bien configurado el apache con php)
    pero al buscar una cancion o artista no me lo encuantra por que no he podido importar la base.

    instale phpmyadmin e intente importar la base pero no puedo importarla por que pesa demasiado..¿?

    2) Probe el script
    arranco el php con el script
    pero me lanza una advertencia de que "file_get_content(index0.html)failed to open string no such file or directori in (donde esta el script) line 229

    ResponderEliminar
  6. 1) Siempre puedes importar desde la consola:
    mysql -u usuario -p nombre_de_la_bd < archivo.sql
    Creo que si, phpmyadmin tiene un limite para importar por medio de archivo

    2) Si estas viendo la interfaz de wget verdad? ese error me suena a que no esta encontrando el archivo que se supone que deberia bajar, el script baja un html y despues lo lee para extraer las url, basicamente tienes que ver si te esta creando los archivos y si tiene permisos para leerlos

    ResponderEliminar
  7. Bien ya he podido importar la base y probar el index y funciona de maravilla.

    solo me falta probar a bajar la cuerda por mi mismo.

    y me pregunto si se podra exportar la base de datos a archivos html.??? y tener toda la cuerda en html, para no requerir apache ni mysql??

    pd:gracias

    ResponderEliminar
  8. aaa tengo mala suerte

    en windows tengo algun problema con wget

    y en linux carga php wget y el script bien pero no puedo levantar apache :(

    ResponderEliminar
  9. Claro que se puede, y viendo que eres el unico a quien le ha interesado este post (al parecer no muchos tocan la guitarra y les gusta la computacion :P ) pues voy a hacer otro script que de la base que ya tienes, o de la que bajes lo pase a html, el unico problema con eso es que va a pesar un monton, pero pues si estaria chido, lo unico que no te puedo decir es para cuando lo tendre listo... ya sabes el trabajo y la escuela, pero en cuanto pueda te aviso

    ResponderEliminar
  10. he probado el script en linux y me corre bien, empieza a descargar pero en un momento aparece denuevo el warning y a aparece lo siguiente Table "cuerda.artista" doesnt exist artista

    ResponderEliminar
  11. Hola, se que ha pasado tiempo desde el último comentario, pero buscando como tener este sitio disponible off line llegué hasta acá. Se bastante de música y guitarra pero no en cambio de PCs. Tal vez haya la manera de que sea más sencillo para descargar el sitio? intente con htttrack en Ubuntu 11.04 pero no funcionó. Gracias Galerian por la buena intención de compartir. Saludos!

    ResponderEliminar
  12. Desafortunadamente la cuerda esta hecha para que ese tipo de herramientas que leen html no funcionen por que los links de las tabs están en javascript, lo que quieres es un proyecto que pidió victor495 aunque ya hace bastante tiempo, sería bueno intentarlo, si me animo lo subo la próxima semana y aviso por aqui.

    ResponderEliminar
  13. podrias subir el script de nuevo ya que como todos sabemos, megaupload RIP. de antemano, gracias.

    ResponderEliminar