¿Necesita ayuda con script sencillo (con suerte)

  • CPT
  • Born
  • Born
  • No Avatar
  • Registrado: Ene 30, 2010
  • Mensajes: 4
  • Status: Offline

Nota Enero 30th, 2010, 8:51 am

Hola a todos,

Tengo un sitio web con un directorio de unos cientos de anuncios de tipo, todas con su propio sub-página web. El sub-páginas individuales de páginas html.

Y ahora mi base de datos central (acceso MS) con todos los detalles de los socios ha sido dañada. Así que ahora tengo que recoger los datos de contacto de las páginas estáticas de HTML.

Sin embargo, con cientos de miembros, no puedo hacerlo a mano. Así que estoy buscando un Webcrawler que puede atravesar todas mis páginas html y recuperar ciertos datos, y después a una base de datos mysql, o quizás simplemente imprimir en tablas.

No quiero especificar mi sitio web, como los correos electrónicos no están protegidos contra spam bots. Pero para darle una idea de lo que estoy buscando, necesito algo para visitar cada página y recopilar los datos entre las etiquetas specifed, por ejemplo,

Recoger "título de negocios" y "correo electrónico" en el código fuente HTML: <div class="title"> TÍTULO PROFESIONAL </ div> <div <br/> class="email"> DIRECCIÓN DE CORREO ELECTRÓNICO </ div>

Así, en este caso, el tractor de oruga de impresión:

TÍTULO PROFESIONAL | DIRECCIÓN DE CORREO ELECTRÓNICO

Y lo haría de forma automática para todas las páginas (que puede especificar las páginas, ya que siguen un orden lógico, por ejemplo / 001/index.html / 002/index. html)

¿Podría alguien ayudarme con un simple script, como las únicas cosas que puedo encontrar en Google están sucios programas de Microsoft Windows que se construyen para los spammers, y no puede recoger cosas que no sean mensajes de correo electrónico.

Un cordial saludo,
Stephen P
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Enero 30th, 2010, 8:51 am

  • Bigwebmaster
  • Site Admin
  • Site Admin
  • Avatar de Usuario
  • Registrado: Dic 20, 2002
  • Mensajes: 8926
  • Loc: Seattle, WA & Phoenix, AZ
  • Status: Offline

Nota Enero 30th, 2010, 1:32 pm

A mí me parece que usted necesita para escribir un guión para ir automáticamente a través de cada página y el extracto de la información.
Ozzu Hosting - Want your website on a fast server like Ozzu?
  • CPT
  • Born
  • Born
  • No Avatar
  • Registrado: Ene 30, 2010
  • Mensajes: 4
  • Status: Offline

Nota Enero 30th, 2010, 7:38 pm

Es más. ¿Puede alguien me punto en la dirección de una plantilla de algún tipo de...Entonces podría trabajar fuera que...
  • CPT
  • Born
  • Born
  • No Avatar
  • Registrado: Ene 30, 2010
  • Mensajes: 4
  • Status: Offline

Nota Febrero 9th, 2010, 12:30 am

golpe, por favor,

¿Podría alguien por favor, deje saber lo que se debe usar Google, como no he encontrado nada parecido a lo que estoy buscando.
  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de Usuario
  • Registrado: May 22, 2004
  • Mensajes: 3415
  • Loc: Richland, WA
  • Status: Offline

Nota Febrero 9th, 2010, 2:04 am

Bueno, heres un poco de código para jugar con:

PHP Código: [ Select ]
preg_match_all('/<div class="title">\s?(.*?)\s?<\/div>\s?.*?\s?<div class="email">\s?(.*?)\s?<\/div>*/si',$contents,$tmp);
$business_name = $tmp[1];
$email_address = $tmp[2];
foreach($business_name as $name)
{
   echo trim($name)."\n";
}
foreach($email_address as $email)
{
   echo trim($email)."\n";
}
  1. preg_match_all('/<div class="title">\s?(.*?)\s?<\/div>\s?.*?\s?<div class="email">\s?(.*?)\s?<\/div>*/si',$contents,$tmp);
  2. $business_name = $tmp[1];
  3. $email_address = $tmp[2];
  4. foreach($business_name as $name)
  5. {
  6.    echo trim($name)."\n";
  7. }
  8. foreach($email_address as $email)
  9. {
  10.    echo trim($email)."\n";
  11. }


Esto partido y el extracto de la nada que coincida con lo que proporcionó anteriormente, básicamente devolverá nada entre los <div class="title> [ver este material] </ div> y <div class="email"> [ver este material] </ div> No importa cuál está en cada lado.

Puede reemplazar $ contents con algo como file_get_contents (http://somewebaddress.com/page.html) y se lea la página y encontrar todos los partidos. Mal puesto un ejemplo un poco. También podría dividir a esa expresión un poco porque ahora se busca la primera clase Título y correo electrónico de igualar.
#define NULL (::rand() % 2)
  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de Usuario
  • Registrado: May 22, 2004
  • Mensajes: 3415
  • Loc: Richland, WA
  • Status: Offline

Nota Febrero 9th, 2010, 2:17 am

PHP Código: [ Select ]
$pattern = '/<div class="headlinelink">.*?<a href="(.*?)">(.*?)<\/a>.*?<em>"(.*?)"<\/em>.*?Started by(.*?)in/si';
 
preg_match_all($pattern,file_get_contents('http://ozzu.com'),$tmp);
 
$url = $tmp[1];
$title = $tmp[2];
$desc = $tmp[3];
$starter = $tmp[4];
 
for($i=0;$i<count($tmp[1]);$i++)
{
   echo "URL: ".$url[$i]."<br>TITLE: ".$title[$i]."<br>DESC: ".$desc[$i]."<br>STARTER: ".$starter[$i]."<br><br>";
}
  1. $pattern = '/<div class="headlinelink">.*?<a href="(.*?)">(.*?)<\/a>.*?<em>"(.*?)"<\/em>.*?Started by(.*?)in/si';
  2.  
  3. preg_match_all($pattern,file_get_contents('http://ozzu.com'),$tmp);
  4.  
  5. $url = $tmp[1];
  6. $title = $tmp[2];
  7. $desc = $tmp[3];
  8. $starter = $tmp[4];
  9.  
  10. for($i=0;$i<count($tmp[1]);$i++)
  11. {
  12.    echo "URL: ".$url[$i]."<br>TITLE: ".$title[$i]."<br>DESC: ".$desc[$i]."<br>STARTER: ".$starter[$i]."<br><br>";
  13. }


Si se ejecuta ese código va a extraer la información de encabezado de la página principal de Ozzu. Su básicamente la misma cosa que el código proporcionado anteriormente puede hacer por el fragmento que nos ha facilitado, este código es sólo un ejemplo de trabajo en una página web en vivo.
#define NULL (::rand() % 2)
  • CPT
  • Born
  • Born
  • No Avatar
  • Registrado: Ene 30, 2010
  • Mensajes: 4
  • Status: Offline

Nota Febrero 10th, 2010, 4:58 am

@ Spoof

Muchas gracias. Eso es exactamente lo que estaba buscando.

Ive ahora integrado un bucle, y ahora estoy con su funcionamiento en mi sitio.

Gracias de nuevo,
CPT

Publicar Información

  • Total de mensajes en este tema: 7 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 221 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC