Bueno, esta guia va orientada a programadores que se inicien en la creacion de web crawlers, spiders, etc.
Como en mi forma de verlo, perl es el mejor lenguaje de programacion para lograr un crawler rapida y facilmente, me decidi a hacer esta mini-guia basada en perl.

Paso 1: analizar el html de la pagina.

¿Como podriamos, sin analizar manualmente el html , llegar a analizarlo de forma automatica con nuestro codigo ?

El objetivo de esto es encontrar lo que buscamos, es decir, si yo busco un patron que me muestre CUANDO y DONDE aparece la informacion que necesito, obtendre rapidamente la expresion regular para lograrlo.

Imaginemos la siguiente situacion:

un cliente nos pide buscar todos los numeros de telefono y nombres de las personas que aparecen en un listado.

Para obtener esos datos, debemos buscar primero un nombre, y ubicar ese nombre en un contexto de etiquetas especial. Digamos que el codigo en el que estan esos datos se ve asi: 

<div class="personas"><p class="nombreytelefono">Nombre: <strong>Romina Suarez</strong><br />Telefono: <strong>3723823</strong></p></div>

Debemos encontrar entonces la expresion regular que situe ese patron en el total del codigo html.

La expresion correcta, o al menos la que yo usaria es:

<div class="personas"><p class="nombreytelefono>Nombre: <strong>([^>]+)</strong><br />Telefono: <strong>([^>]+)</strong></p></div>

 

La parte verdaderamente util, es lo que se encuentra entre <strong></strong>, ya que son los datos que buscamos, pero si solo nos basaramos en buscar <strong>([^>]+)</strong> terminariamos probablamente obteniendo datos inutiles, ya que esta expresion solo busca algo que se encuentre entre las etiquetas strong, mientras que la otra, busca el div "personas" y datos del mismo para decidir si es correcto tomar esa informacion. Si no se cumpliera la expresion regular completa, esos datos no seran guardados. 

 

Comparte este Goo:

¿Tiene contenido inapropiado?

Comparte este goo con un amigo: