Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/12/2010, 14:59
coke_135
 
Fecha de Ingreso: agosto-2003
Mensajes: 122
Antigüedad: 20 años, 8 meses
Puntos: 0
Respuesta: Duda novato: leer contenido web externa

Cita:
Iniciado por ElJavista Ver Mensaje
Ajax no es la "grasa de culebra" (regionalismo peruano) que todo lo cura. Sirve para dar más interactividad a una web. En este caso no hace falta Ajax, solamente PHP. Bien, como hacer?

En primer lugar no se puede hacer que cuando se actualice la web que sirve como fuente automáticamente se coja esa última actualización y se guarde en la base de datos propia. Por qué? porque no es tu web para que pongas un código que te indica cuando se ha actualizado. Lo que se puede hacer es revisar esa web periódicamente y comprobar si el contenido es nuevo o no.

Cómo hacerlo? en primer lugar requiere conocimiento de PHP, dentro de PHP saber CURL para obtener el contenido, puedes buscar "emular navegador con CURL" y va a aparecer una función en este mismo foro. OK, una vez obtenido debes procesarlo, en este caso obtener estructuradamente la información. O sea, el título, las categorías si hay, y el contenido en si. Eso se hace con el API DOM de PHP. Luego pues lo guardas en tu base de datos. Para cada web fuente se requiere un distinto código que obtenga los datos estructuradamente.

Por último se debe hacer que eso se repita periódicamente, talvez algún desesperado querrá que este proceso se repita automáticamente cada hora, yo recomendaría que sea cada día. Para eso simplemente se programaría un cron job que ejecute el archivo PHP donde se encuentra ese código. Una cosa que se me está pasando por alto es el hecho de que cada artículo que se quiera guardar en la base de datos debe antes ser chequeado para ver si ya existe. Bueno, eso es lógico.

Bien, eso sería todo. Realmente no es tan difícil, pero es necesario saber varias cosas. Suerte!
Muchas gracias.

Empezaré por CURL a ver que tal.

¡Un saludo!