Resultados 1 al 9 de 9

Extraer contenido de una web mediante php.

  1. #1 Extraer contenido de una web mediante php. 
    Iniciado
    Fecha de ingreso
    May 2006
    Ubicación
    paraguay
    Mensajes
    4
    Descargas
    0
    Uploads
    0
    pues eso amigos, como puedo extraer el contenido de una web mediante php, se puede hacer? no tengo experiancia en esto, pero lo primero que se me ocurrio fue mediante los rss, la mayoria de las webs ya lo usan, pero.. si la web no la usa, lo que se me ocurre es sacar el contenido leyendo el codigo fuente y sacar el contenido de entre las etiquetas html.. alguien que me ayude porfa?
    Citar  
     

  2. #2  
    Moderador HH
    Fecha de ingreso
    Dec 2001
    Ubicación
    España
    Mensajes
    836
    Descargas
    2
    Uploads
    0
    ¿Que tipo de contenido quieres sacar?
    Si el contenido que necesitas está en XML lo tienes muy facil y si es texto plano tendrás que utilizar algún algoritmo para procesar el texto y sacar la información que necesites.

    Intenta plantear el problema un poco más en detalle para que podamos ayudarte.
    Salu2
    Normas Del Foro | En la comunidad ayudamos a resolver problemas, solo pedimos paciencia y cabeza.
    Más información sobre mi: Raúl Jiménez
    Citar  
     

  3. #3  
    Avanzado
    Fecha de ingreso
    Jun 2006
    Ubicación
    Valhala
    Mensajes
    1.167
    Descargas
    4
    Uploads
    0
    Echale un vistazo a las librerias Curl.
    http://es2.php.net/manual/es/book.curl.php
    http://www.project-longinus.es
    Citar  
     

  4. #4  
    Moderador HH
    Fecha de ingreso
    Dec 2001
    Ubicación
    España
    Mensajes
    836
    Descargas
    2
    Uploads
    0
    En realidad si lo que quieres es extraer contenido de una base de datos lo más normal es que le pidas al propietario acceso a los datos de alguna manera, si no quiere dejarte acceso directo a la base de datos quizás esté dispuesto a ofrecerte los datos en algún formato de intercambio como XML.

    Si no llegáis a ningún acuerdo y estás empeñado en extraer los datos de su base de datos la única opción legal (o al menos supongo) que se me ocurre es:
    • Crear un script que recupere todas las páginas que contengan información con fuerza bruta (ya sea enviando consultas a través de un buscador enviando variables con post o directamente recuperando urls con variables con get)
    • Parsear las páginas con expresiones regulares y extraer la información que te interese (tendrás que conocer la estructuras de las páginas)
    • Insertar los datos en tu base de datos local


    Aunque como te digo montar una base de datos de esta manera no es demasiado fiable, pero es lo único que se me ocurre.

    Conclusión: normalmente cuando se extrae información de una página es por ejemplo para crear una nube de tags (como podría ser el caso de alguna página tipo meneame) o crear sugerencias para añadirle tags a un artículo.
    Otra posible tarea sería la de crear un feed para una página que no tiene feed y que no es tuya pero que te interesa tener un feed que se actualice dinámicamente.

    El otro día hice un script en PERL (si sabes PHP es casi igual) que a partir del feed de meneame genera una nube de tags según la frecuencia de aparición de las palabras en los artículos originales. Si te interesa puedo colgarlo en google code para que le exes un vistazo

    Salu2
    Normas Del Foro | En la comunidad ayudamos a resolver problemas, solo pedimos paciencia y cabeza.
    Más información sobre mi: Raúl Jiménez
    Citar  
     

  5. #5  
    Iniciado
    Fecha de ingreso
    Sep 2008
    Mensajes
    10
    Descargas
    0
    Uploads
    0
    si solamente queres el html lo mas facil es con file_get_contents()
    un ejemplo:
    prueba.php
    Código:
    <?
    $content=file_get_contents("www.google.com");
    echo $content;
    ?>
    podes tambien utilizarlo hacia archivos especificos...
    Código:
    $content=file_get_contents("http://foro.hackhispano.com/showthread.php?t=31314");
    Citar  
     

  6. #6  
    Iniciado
    Fecha de ingreso
    May 2006
    Ubicación
    paraguay
    Mensajes
    4
    Descargas
    0
    Uploads
    0
    gracias por las respuestas amigos! ahora si me pongo de lleno en el proyecto!
    la idea es hacer algo como esto http://www.boliviahoy.com; como ven tiene la información de distintos diarios digitales, no quiero extraerlo desde la bbdd, no creo que me lo dejen jeje.
    lo ideal seria desde el rss, www.abc.com.py ; www.ultimahora.com ; www.lanacion.com.py ; www.diariopopular.com.py.. (todos estos con servicio de rss) y www.diariovanguardia.com.py (este no tiene rss).
    los primeros tienen el servicio de rss, eso me facilita mucho supongo, pero si la web no dispone de ese recurso? 1) tengo que usar Curl? me imagino que seria como scanear toda la web, tendria que estudiar toda la estructura de la web a extaer y asi tambien la url, editar el contenido, una vez extraido el contenido, guardarlo en la bbdd..

    obviamente pediré permiso para colocar las noticias, con la fuente, el logo y todo..
    2) para las webs que no disponen de rss y extraiga el contenido via Curl o como lo mostro el amigo más arriba, apareceria en sus estadisticas como una visita?
    3) hay otra manera de extaer el contenido y que no sea mediante Curl y file_get_contents?
    4) me imagino que lo tendría que hacer varias veces al día por cada página, consumiría muchos recursos del servidor?
    5) lo tengo que automatizar mediante el uso del cron del server no?

    gracias y perdon por tantas preguntas! saludos!
    Citar  
     

  7. #7  
    Moderador HH
    Fecha de ingreso
    Dec 2001
    Ubicación
    España
    Mensajes
    836
    Descargas
    2
    Uploads
    0
    Yo antes de responderte a todas las preguntas te propondría que hablases con las páginas que no tienen RSS y les propusieses que las incorporaran (algunas lo mismo ya están en ello), los mayores beneficiaros serían ellos.

    Haciéndolo con curl/file_get_contents va a ser muy laborioso (ya que supongo que tendrías que hacer un script personalizado para cada sitio),no?

    Saludos!!
    Normas Del Foro | En la comunidad ayudamos a resolver problemas, solo pedimos paciencia y cabeza.
    Más información sobre mi: Raúl Jiménez
    Citar  
     

  8. #8  
    Iniciado
    Fecha de ingreso
    May 2006
    Ubicación
    paraguay
    Mensajes
    4
    Descargas
    0
    Uploads
    0
    pasa que quiero aprender a hacerlo, entoces cualquier indicación por parte de los foristas es positivo.. si lo mas probable es que tenga que hacer un sistema paar cada pagina a extaer la info..
    Citar  
     

  9. #9  
    Moderador HH
    Fecha de ingreso
    Dec 2001
    Ubicación
    España
    Mensajes
    836
    Descargas
    2
    Uploads
    0
    Ok, bueno te respondo punto a punto:

    1) Sí, o Curl o cualquier función del lenguaje propio que uses (o librería que utilices) y parsear la página para extraer la información que necesites

    2) Para las páginas que dispongan de RSS no tiene sentido que uses Curl ya que RSS te ofrece la información exacta que quieres obtener, y a la otra pregunta la respuesta es: sí, en principio toda petición a una página será contada como una visita, ya que lo que registra son las peticiones al servidor

    3) Que yo recuerde ahora mismo no existe otra manera (pero es posible que se me escape alguna).

    4) Eso depende de cuantas páginas y cuantas veces al día, pero como mejor lo puedes saber es haciendo una prueba (viendo cuanto te consume hacerlo cada vez) pero vaya también depende de si puedes configurar el sistema para que el proceso no consuma el 100% de la CPU. Yo para parsear la página de meneame y los enlaces a los que me rederigía tardaba uno 4/5 minutos (con mi conexión de 2MB), y parsear era lo de menos

    5) Puedes hacerlo con cron o hacer cualquier tipo de artimaña extraña (que cuando no tenía chron yo he utilizado), aunque lo mejor es usar chron.

    Bueno marche espero que te sea de ayuda. Un saludo y suerte compañero!
    KaoS
    Normas Del Foro | En la comunidad ayudamos a resolver problemas, solo pedimos paciencia y cabeza.
    Más información sobre mi: Raúl Jiménez
    Citar  
     

Temas similares

  1. Extraer modelo 3d de un juego
    Por jor1980 en el foro INGENIERIA INVERSA
    Respuestas: 7
    Último mensaje: 03-10-2008, 02:46
  2. Inyectar y extraer BD de SQL
    Por fullthrothle en el foro VULNERABILIDADES
    Respuestas: 3
    Último mensaje: 21-07-2006, 01:47
  3. extraer audio CDFS
    Por morza2 en el foro MULTIMEDIA
    Respuestas: 4
    Último mensaje: 23-08-2005, 01:27
  4. Extraer videoclips de un DVD
    Por Angelote en el foro OFF-TOPIC
    Respuestas: 1
    Último mensaje: 22-04-2003, 14:18
  5. Extraer el KI con Cardinal
    Por ramuga en el foro TELEFONÍA MOVIL
    Respuestas: 4
    Último mensaje: 27-11-2001, 13:05

Marcadores

Marcadores