Web Scraping: Ingeniería inversa de páginas HTML
El Web Scraping se puede considerar como un proceso que analiza la información proporcionada por un sitio web. Las páginas que ofrecen se codifican en HTML, es decir, utilizan una estructura de árbol para representar la información de manera que ésta se mezcla con el diseño, lo que hace que los datos que realmente interesan no se puedan manejar o comparar fácilmente y de una manera inmediata.
Para obtener tales datos se utilizan aplicaciones basadas en el Web Scraping, que se encarga de extraer automáticamente información de sitios web. Trabajan por medio del aprendizaje de las etiquetas y averiguan si los datos son reales. Una vez que obtiene la información, es procesada y transformada de manera que los datos se puedan filtrar, ordenar y buscar fácilmente.
El proceso consiste básicamente en simular a una persona que se halle navegando por un sitio web. En primer lugar, se conecta al sitio web y le solicita una página, tal y como lo haría un navegador. El servidor web le devuelve la página y la aplicación de Web Scraping recoge la información de las diversas fuentes en Internet y lo pone todo en una sola base de datos. Pero esta técnica no es la única, dependerá de nivel de automatización en que se base. Algunos de ellos son:
- El comando grep junto con el uso de expresiones regulares: éste es un enfoque simple pero potente y se basa en el comando grep de Unix combinado con las expresiones regulares que facilitan los lenguajes de programación
- Análisis DOM: Con la integración de un navegador web, se pueden recuperar contenidos dinámicos mediante secuencias de comandos del lado del cliente.
- Analizadores de HTML: lenguajes como XQL y HTQL se pueden utilizar para analizar las páginas HTML y recuperar y transformar el contenido web.
- Software Web Scraping: hay muchas aplicaciones disponibles que pueden ser utilizadas para personalizar el proceso de Web Scraping. Estos programas proporcionan una interfaz que elimina la necesidad de escribir código para extraer y transformar contenido web.
- Reconocimiento de etiquetas semánticas: El etiquetado de las páginas web puede incluir metadatos que sirven para localizar datos específicos. Si las etiquetas se insertan en las páginas, esta técnica se puede considerar como un caso especial de análisis DOM. Si no ocurre así, las etiquetas, organizadas en una capa semántica, se almacenan y administran por separado, de modo que el Web Scraping puede recuperar los datos de esquema.
Por último, veamos algunos casos donde se puede poner en práctica:
- En los motores de búsqueda para obtener información de páginas y obtener el contenido HTML.
- Sitios que copian el contenido de uno o más sitios web existentes con el fin de generar un nuevo sitio.
- Para conseguir las URL o imágenes que contiene una página Web y poder descargar las últimas actualizaciones de diversos sitios web.
- Para la obtención de información en tiempo real. Por ejemplo, si hay una página donde se muestra el precio de un producto y se quiere revisar frecuentemente para saber cuándo nos interesa su compra. En lugar de estar actualizando la página constantemente para verificar el precio, se puede utilizar una aplicación que obtenga el precio automáticamente y envíe un aviso cuando se encuentre dentro de unos límites.
Tags: web scraping
Esta entrada ha sido creada el Friday, 5 February 2010 a las 14:01 y está en Tecnología. Puede seguir cualquier respuesta a esta entrada a través de RSS 2.0 feed. Puede dejar una respuesta , o hacer trackback en su propio sitio.




