Foros del Web » Programando para Internet » PHP »

Guardar pagina web

Estas en el tema de Guardar pagina web en el foro de PHP en Foros del Web. Hola, ojala alguien me pueda ayudar. Quiero guardar una pagina web con todo su contenido, hacer algo igual a la funcion Guardar Pagina como, y ...
  #1 (permalink)  
Antiguo 07/08/2013, 16:16
 
Fecha de Ingreso: abril-2013
Mensajes: 18
Antigüedad: 11 años
Puntos: 0
Pregunta Guardar pagina web

Hola, ojala alguien me pueda ayudar. Quiero guardar una pagina web con todo su contenido, hacer algo igual a la funcion Guardar Pagina como, y guardarla completa. Lo primero que hice fue usar funciones de buffer, con lo cual almaceno todo el codigo html y lo guardo en el bufer para crear un archivo html. Lo que me falta es leer el archivo para que me extraiga todos los tags img, link y src para buscar las imagenes, los css, los js, etc. Y ya con esto guardar todo en un zip que se descargue junto con el html. Alguien me podria ayudar?? Una idea de como hacer esto?? o una idea para hacer esto de diferente manera?? Este es mi codigo que tengo para crear el html

Código:
<?php
    //ob_start("convierte_caracteres_especiales");
    ob_start();
?>


<html> 
    <head> 
        <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
        <title>Prueba</title> 
    </head> 
    <body> 
        

        <?php

        echo "<h2>Hola Mundo!!</h2>"."<br />";
        echo "<div>Hola!!!</div>";
        ?>

    </body> 
</html> 

 <?php
//inicio el buffer de salida 
        

        function convierte_caracteres_especiales($buffer) {
            //return htmlentities($buffer);
            return $buffer;
        }
        
        $html=ob_get_contents();
        
        ob_end_flush();
        
        $myFile="newHTML.html";
        $create= fopen($myFile, 'w') or die ("El archivo no se pudo crear");
        $contentFile=$html;
        fwrite($create, $contentFile);
        fclose($create);
 ?>
  #2 (permalink)  
Antiguo 07/08/2013, 19:27
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Guardar pagina web

No es algo simple de hacer, pero más o menos sería algo como:

1- Obtener el código; eso parece que ya lo tienes
2- Analizar el contenido con DomDocument, expresiones regulares u otra opción para obtener rutas de scripts e imágenes
3- Obtener tanto scripts como imágenes (con cURL, file_get_contents() u otro) y guardarlos en una carpeta
4- Reemplazar URL's de scripts e imágenes para que sean cargadas de forma local
5- Guardar todo y crear tu zip
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 07/08/2013, 19:39
 
Fecha de Ingreso: abril-2013
Mensajes: 18
Antigüedad: 11 años
Puntos: 0
Respuesta: Guardar pagina web

Muchas gracias Triby, me has dado una pista de por donde puedo empezar, soy un novato y no tengo idea de como se hace todo esto pero ahora mismo me pongo a ver la forma de como se hace todo esto, de todas formas cualquier ayuda es bienvenida, y te repito, muchas gracias por las pistas que me acabas de dar
  #4 (permalink)  
Antiguo 07/08/2013, 19:50
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Guardar pagina web

Eso se llama "Web scraping". Buscá en Google PHP Web Scraper o algo así.

Yo encontré esto: https://github.com/fabpot/Goutte Tal vez te sirva.
__________________
nahueljose.com.ar
  #5 (permalink)  
Antiguo 07/08/2013, 22:44
 
Fecha de Ingreso: abril-2013
Mensajes: 18
Antigüedad: 11 años
Puntos: 0
Respuesta: Guardar pagina web

Gracias amigo, lo checo y te aviso como me fue Naahuel

Etiquetas: html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:48.