Comunidad de diseño web y desarrollo en internet online

Script php para descargar una pagina web completa

Citar            
MensajeEscrito el 07 Jun 2010 02:07 am
Alguien podria decirme u orientarme sobre como crear un script php para descargar una pagina web completa :?

Por jonatantxt

3 de clabLevel



 

Desarrollador de aplicaciones.

chrome
Citar            
MensajeEscrito el 07 Jun 2010 03:21 am
Hola,
Para qué quieres hacer eso???
(o_O)

Por hormy1

Claber

124 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Jun 2010 04:40 pm

hormy1 escribió:

Hola,
Para qué quieres hacer eso???
(o_O)


Quiero guardar la información de algunas paginas como por ejemplo algunos tutoriales o tips de cristalab, ya se que hay programas que puedo usarlos para hacer eso pero me gustaria porder hacer lo yo ^^

Por jonatantxt

3 de clabLevel



 

Desarrollador de aplicaciones.

chrome
Citar            
MensajeEscrito el 09 Jun 2010 12:50 am
Hola jonatantxt; hace un tiempo estuve desarrollando una aplicacion en VB para descargar sitios... en realidad no
es nada complicado. Voy a mencionarle algunas cosas de como lo hice en VB, asi se hace una idea y talvez pueda
traducirlo a PHP.

1. Conectar a la pagina web que se desea descargar.
2. Copiar los archivos CSS.
3. Copiar los archivos JS.
4. Copiar los archivos SWF.
5. Copiar todas las imagenes.
6. Reemplazar del contenido todo lo que haga referencia a la direccion original.
(Es decir, si habia una imagen en http://www.example.com/imagenes/hola.jpg le eliminaba http://www.example.com/.
De esta forma me evitaba el problema de que el navegador buscara la imagen en otro lugar distinto al directorio donde
finalmente se descarga la pagina).
7. Almacenar la copia del HTML descargado (con todas las modificaciones que se le hicieron [como la del punto 6]).

Ahora, como se copian los archivos??? Para eso hay que hacer una funcion no tan simple... A esa funcion se le pasa
la ruta completa del archivo a copiar, por ejemplo: http://www.example.com/imagenes/hola.jpg. Cual es la complicacion?
Se debe verificar que en el directorio local (destino de nuestra pagina copiada) existan todos los directorios (en caso
de que se quiera conservar toda la estructura de la pagina copiada).

Ejemplo de la funcion (suponiendo que vamos a descargar http://www.example.com/imagenes/hola.jpg):

1. Le eliminamos el dominio a la ruta, quedando asi: imagenes/hola.jpg
2. Se reemplazan todos los slashes de la ruta (/) por backslashes(\). Para que? Este es el truco para tratar la direccion
web como si fuera una ubicacion en nuestro disco duro local.
3. Despues del paso 2 la direccion quedaria asi: imagenes/hola.jpg
4. Tomar el nombre de la carpeta (imagenes) y comprobar si existe en la ruta destino de la copia.
5.1. No existe? La creamos.
5.2. Si existe? No hay problema.
6. Copiar el archivo hola.jpg a la ruta final.

Listo... y eso con cada archivo. La funcion puede programarse para crear todas las carpetas (en el disco local) que
sean necesarias... sin importar la profundidad del archivo que se va a descargar.

Se que suena un poco enredado, pero no se como podria explicarlo mas facil. En todo caso, espero estar mas tiempo
por aqui. Saludos desde Costa Rica.

Por juancarlosr

0 de clabLevel



 

Costa Rica

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.