Foros del Web » Programando para Internet » PHP »

BOT extraer informacion

Estas en el tema de BOT extraer informacion en el foro de PHP en Foros del Web. Hola, buenas tengo este codigo para extrar titulo de milanuncio.com, el problema que tengo esque solo saca el primer titulo y no todos los restante. ...
  #1 (permalink)  
Antiguo 14/10/2014, 13:16
 
Fecha de Ingreso: febrero-2014
Mensajes: 46
Antigüedad: 10 años, 2 meses
Puntos: 1
BOT extraer informacion

Hola, buenas tengo este codigo para extrar titulo de milanuncio.com, el problema que tengo esque solo saca el primer titulo y no todos los restante.

Código PHP:
Ver original
  1. <?php  
  2. $content = file_get_contents("http://www.milanuncios.com/motor/");
  3. $inicio = 0;
  4. while ($inicio <= 10){
  5. preg_match('|<div class=x7>(.*?)<br>|is', $content , $matchs);
  6. echo 'Titulo'.$matchs[$inicio].'<br>';
  7. $inicio = $inicio + 1;
  8. }
  9. ?>
  #2 (permalink)  
Antiguo 14/10/2014, 13:49
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: BOT extraer informacion

Puedes lidiar con expresiones regulares, pero te recomiendo mejor que pruebes esto: http://simplehtmldom.sourceforge.net/ igual te ahorras tiempo
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 15/10/2014, 07:15
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Respuesta: BOT extraer informacion

de esa manera jamás lo conseguirás, tienes que saber que tienes que trabajar con Objetos, y para ello, lo que dice @hhs es una buena librería (externa) o bien puedes utilizar la libería interna que trae php http://php.net/manual/es/book.dom.php
  #4 (permalink)  
Antiguo 15/10/2014, 08:53
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: BOT extraer informacion

Tu código no va tan desencaminado.

Puedes probar con preg_match_all para no tenerlo en el bucle, y después recorrer las coincidencias.

Algo así:
Código PHP:
$content file_get_contents("http://www.milanuncios.com/motor/");
preg_match_all('|<div class=x7>(.*?)<br>|is'$content $matchs);
foreach(
$matchs[1] as $titulo) echo $titulo
Pero sí, suele ser más facil recurrir al dom ;)
__________________
>> Eleazan's Source
>> @Eleazan

Etiquetas: bot, informacion
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 01:14.