Foros del Web » Programando para Internet » PHP »

Prograar un Spider

Estas en el tema de Prograar un Spider en el foro de PHP en Foros del Web. Hola, debido a un proyecto, tengo la necesidad de programar un spider. Las funciones seran recojer datos de una web, y guardarlos en una base ...
  #1 (permalink)  
Antiguo 04/09/2009, 04:30
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Prograar un Spider

Hola, debido a un proyecto, tengo la necesidad de programar un spider.

Las funciones seran recojer datos de una web, y guardarlos en una base de datos.

La bd, la tengo montada, ahora me falta lo dificil, que el robot coja datos y los guarde.

Alguien tiene algun tipo de documentacion al respecto ? un saludo
  #2 (permalink)  
Antiguo 04/09/2009, 07:02
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 86
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Prograar un Spider

Prueba mirando la librería cURL

http://ar.php.net/manual/en/book.curl.php

Saludos.
__________________
-ronnieb

WebTools
  #3 (permalink)  
Antiguo 04/09/2009, 11:16
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Respuesta: Prograar un Spider

Qué datos necesitás recojer de cada web?
Cuál es el propósito del Spider?
Como pensaste la base de datos?

Contanos un poco esas cosas y vamos viendo como ayudarte a pensar el Spyder.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #4 (permalink)  
Antiguo 05/09/2009, 09:47
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Prograar un Spider

Muchas gracias por contestar.

Pongamos que quiero sacar datos de una pagina web de venta de casas.

Esta pagina tiene :

Titulo
Descripcion
Precio
contacto

yo tengo la base de datos creada

alt_titulo
alt_descripcion
alt_precio
alt_contacto

La funcion del spider, es cojer esos datos de esta pagina web y guardarlos en mi base de datos.

Un saludo
  #5 (permalink)  
Antiguo 05/09/2009, 10:33
 
Fecha de Ingreso: abril-2009
Mensajes: 24
Antigüedad: 15 años
Puntos: 0
Respuesta: Prograar un Spider

yo lo que aria es sacar el codigo de la web.
con:
Código PHP:
file_get_contents(); 
Luego analizar la web, si el titulo es un enlace, si tiene etiquetas <b>, o alguna cosa que pueda identificarlo para extraerlo con expresiones regulares.

Lo mismo para la descriptcion y el precio.
  #6 (permalink)  
Antiguo 05/09/2009, 14:58
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Prograar un Spider

He estado usando este codigo

<?php

/*
Spider Script.
Written By: Valek
December 13, 2008 */

$url = "http://www.google.es";

$page = file_get_contents($url);

$pattern = "/href=[\"\']([^\"^\']+)[\"\']/";

preg_match_all($pattern, $page, $results, PREG_PATTERN_ORDER);

$results = $results[1];

$results = implode("SPLIT",$results);

$results = "SPLIT".$results;

$results = str_replace("SPLIT/","SPLIT".$url."/",$results);

$results = explode("SPLIT", $results);

array_shift($results);

echo "<pre>";
print_r($results);
echo "</pre>";

?>

con el se pueden ver cuantas paginas hay en un servidor, pero sigo sin saber como hacer que me muestre solamente el div = X
  #7 (permalink)  
Antiguo 05/09/2009, 19:58
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 15 años, 8 meses
Puntos: 41
Respuesta: Prograar un Spider

¿a que te refieres con eso de el div= X ?

bueno, si quieres coger algún contenido de otra web, te he echo este código simple

Código:
<?php

set_time_limit(0);

$url = file_get_contents('http://www.frasescelebres.net/frases-de-abogados.html');

$cadenaId='<p><img title="frases" src="/frases.gif" alt="frases" />';
$posId=strpos($url,$cadenaId);
$posId = $posId + strlen($cadenaId);
$cadenaId=substr($url,$posId,1400);
$FinalId=strpos($cadenaId,'<div>');
$IdFinal=substr($cadenaId,0,$FinalId);

echo strip_tags($IdFinal);

?>
para que comprendas como hacerlo, espero que te sirva de ayuda, sino, pues ya veremos mañana, que ya es tarde por aquí

Última edición por codig0; 05/09/2009 a las 20:17
  #8 (permalink)  
Antiguo 05/09/2009, 20:17
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Prograar un Spider

por ejemplo quiero que me saque el texto que esta dentro del div = titulo, por ejemplo

o que me saque todos los textos que estan dentro de <p> </p>
  #9 (permalink)  
Antiguo 05/09/2009, 20:18
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 15 años, 8 meses
Puntos: 41
Respuesta: Prograar un Spider

pues te puse un ejemplo arriba, míralo, igual te sirve.
  #10 (permalink)  
Antiguo 05/09/2009, 20:28
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Prograar un Spider

Cita:
Iniciado por codig0 Ver Mensaje
pues te puse un ejemplo arriba, míralo, igual te sirve.

Esta linea no se muy bien como funciona :

$cadenaId='<p><img title="frases" src="/frases.gif" alt="frases" />';
  #11 (permalink)  
Antiguo 05/09/2009, 20:37
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 15 años, 8 meses
Puntos: 41
Respuesta: Prograar un Spider

Pues si te das cuenta es donde comienza, osea ahí se pone el código html que tenga antes de empezar lo que quieras coger y en donde pone la de div, pones el html que este al final de lo que quieras coger.
  #12 (permalink)  
Antiguo 05/09/2009, 20:44
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Prograar un Spider

Ok, lo acabo de probar, he logrado cojer un div haciendo eso, voy a mirar si puedo cojer varias cosas a la vez como seria, y una vez lo tenga viene lo complicado , meter eso en una bd :P
  #13 (permalink)  
Antiguo 05/09/2009, 20:52
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 15 años, 8 meses
Puntos: 41
Respuesta: Prograar un Spider

Hombre... yo creo que insertarlo en la db, es lo más fácil.
  #14 (permalink)  
Antiguo 05/09/2009, 20:55
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Prograar un Spider

Bueno ahora estoy montandolo todo, el codigo muy sencillo pero muy funcional, pero pienso que tendria que mostrarlo de otra forma para poder insertarlo en la db no ? conforme esta ahora, no veo como
  #15 (permalink)  
Antiguo 05/09/2009, 21:02
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 15 años, 8 meses
Puntos: 41
Respuesta: Prograar un Spider

Si lo que dices es como hacer para enviarlo en diferentes registros, tendrías que añadir un bucle.
  #16 (permalink)  
Antiguo 05/09/2009, 21:06
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Prograar un Spider

por ahora estoy estudiando bien como recojer los datos, porque por ejemplo si en una web hay 3 <h1> </h1> y solo quiero cojer el 3º , la llevo clara :P
  #17 (permalink)  
Antiguo 05/09/2009, 21:30
 
Fecha de Ingreso: septiembre-2008
Ubicación: Lanzarote, Canarias
Mensajes: 486
Antigüedad: 15 años, 8 meses
Puntos: 41
Respuesta: Prograar un Spider

Pues pon algo que solo tenga antes el tercer h1 y listo xD.
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 04:14.