Tutorial Crawling Web

En la nueva versión de Sofia2 la 2.23, se han añadido capacidades de analítica y recolección Web, pudiendo realizar tareas de inspección automatizada y muy configurable sobre el World Wide Web.

A continuación, se detallarán los pasos necesarios para poder realizar un Crawling Web con la plataforma Sofia2 y la creación de un Dashboard con los datos obtenidos.

1. Acceso a la herramienta: Lo primero que tenemos que hacer es acceder al nuevo menú habilitado Crawling Web, dentro del apartado Social Media de la consola de Sofia2

Dentro, podremos encontrar el listado de Crawlings que hemos creado previamente, así como las opciones de borrarlos o editarlos.

Para crear uno nuevo haremos clic en el botón Crear Crawling Web.

2. Configuración y lanzamiento del Crawling Web

Existen dos modos de realizar un Crawling Web en Sofia2, un modo básico y otro avanzado.

El modo básico, está enfocado a usuarios que quieren realizar un Crawling Web básico y preconfigurado, sin entrar en opciones más complejas. En este modo, tendremos que configurar las siguientes opciones:

· Nombre del Crawling

· Semillas: usadas para realizar el Crawling, estas son las URLs (una o varias) de partida, que usará el motor de Crawling en la exploración.

· Patrón: expresión regular en formato Java Regex Pattern que se usará para explorar los diferentes elementos de las páginas que estamos recorriendo. Cada vez que esta expresión regular encaje, se añadirá un nuevo resultado al campo matches de la ontología destino del Crawling. A la derecha, se tiene un desplegable con patrones preconfigurados sobre los que se puede partir para realizar la expresión regular que se usará.

· Desde-Hasta: mediante los selectores disponibles, se puede elegir el momento de inicio y fin del Crawling.

· Ontología-KP-Token: Se podrá seleccionar una ontología que se posea con plantilla Crawling Web o se podrá crear una ontogía y kps nuevos.

El modo avanzado, dispondrá de las opciones del modo básico, a las que se le añaden:

· Profundidad de la búsqueda: límite de la profundidad de la exploración

· Máximo de páginas

· Politeness: tiempo de espera entre dos accesos continuados a un mismo dominio

· Máximos links de salida desde una web

· Inclusión de páginas HTTPS

· Inclusión y procesado de archivos binarios: se podrá usar para explorar metatags de archivos binarios. El motor los recibirá como HTML.

· Almacenamiento de webs sin resultados

· Seguir redirecciones

· Almacenar Web completa en instancia: se almacenará el HTML de la web en el campo rawWeb de la instancia de la ontología. Esto será útil para poder realizar postprocesados más potentes pudiendo incluir está web dentro de procesos ETL.

· Exploración de links: se exploran todos los links salientes de la web

· Exploración de título: se explora el título de la web actual

· Exploración de metatags: se exploran los metatags de la web

· Exploración del texto: se explora el texto de la web, extraído del html de la misma

· Exploración del HTML: se explorará todo el HTML de la web

· User Agent: nombre que usará el crawler en los accesos a las diferentes webs

· Número de Crawlers en paralelo: 4 crawlers paralelos por defecto. En el caso de un usuario administrador, podrá modificarse este parámetro pudiendo usar los que sean necesarios.

· Restricción a dominios: se podrán restringir las exploraciones a determinados dominios

· Evitar dominios: son dominios en los que no debe realizarse la exploración

· Patrón de URLs permitidas: patrón en formato Java Regex Pattern para las URLs que están permitidas.

· Patrón de URLs no permitidas: patrón en formato Java Regex Pattern para URLs que no están permitidas

En nuestro caso, configuramos el Crawling como:

URL semilla: la página de la BBC (http://www.bbc.com/ )

Patrón de búsqueda: seleccionaremos el patrón de búsqueda de Emails preconfigurado

Desde-Hasta: seleccionamos unos 8 minutos de exploración. Nota: para hacer búsquedas interesantes y potentes, puede ser necesario dejar explorando el crawling durante varias horas.

Ontología-KP-Token: una ontología que ya teníamos creada con plantilla de Crawling llamada bbccrawl

Desmarcamos las exploraciones de Links, título, HTML y metatags ya que los emails se encontrarán en el texto de la Web. Por defecto, estas opciones vienen todas marcadas, pero deberán de marcarse solo las necesarias, permitiendo mejores velocidades en el Crawling Web

Desmarcamos también el almacenamiento de instancias de web que no tienen ningún resultado, ya que no nos interesan Webs que no posean ningún email.

El resto de opciones se dejarán por defecto.

Después de completar esta configuración, haremos clic en el botón inferior de crear Crawling Web.

Una vez hecho esto tendremos nuestro Crawling planificado en la plataforma.

3. Consulta de los datos obtenidos en el proceso:

Si vamos a las consola de consultas a la BDTR y BDH podremos consultar los datos que se obtienen del proceso, así como la estructura de los mismos:

La estructura de cada instancia es la siguiente:

{
   “_id”: {
     “$oid”: “56420461e4b077b8c7c5d37b”
    },
    “contextData”: {
    “session_key”: “8fc20b7b-bbac-4f12-b569-19229a0d3434”,
    “user”: “sofia”,
    “kp”: “bbccrawlkp”,
    “kp_instancia”: “CrawlingWeb”,
    “timestamp”: {
      “$date”: “2015-11-10T14:51:13.195Z”
    }
  },
    “CrawlingWeb”: {
    “searchID”: “bbcCrawler_2015-11-10T14:47:00.000Z”,
    “URL”: “http://www.bbc.com/news/business/business_of_sport “,
    “domain”: “bbc.com”,
    “depth”: 2,
    “anchor”: “Business of Sport”,
    “parentURL”: “http://www.bbc.com/news/world-africa-34719682 “,
    “matches”: [
        “haveyoursay@bbc.co.uk”
    ],
   “rawWeb”: “”
   }
}

Tenemos los siguientes campos en la misma:

· searchID: identificador único del Crawling que ha generado la instancia. Se compone del nombre dado al crawling y la fecha de inicio del mismo.

· URL: url actual de la instancia

· domain: dominio de la URL

· depth: profundidad a la que se encuentra en la exploración

· anchor: texto del elemento de la web padre que contiene la URL

· parentURL: URL padre y de un nivel menos

· matches: array de resultados encontrados en la web actual

· rawWeb: en el campo de que la opción esté activada se almacenará aquí el HTML completo de la web

4. Creación del dashboard

Se crearán dos Gadget para este tutorial,

· Un Gadget Gauge que lanzará una query en formato nativo, que realizará el conteo del número de instancias almacenadas, es decir el número de URLs que tienen emails.

· Un Gadget Nube de Palabras que cogerá los resultados del campo matches y pintará las URLs más utilizadas.

El resultado final quedará, con el estilo Dark_theme, de la siguiente forma:

Todo este proceso puede verse en el siguiente vídeo subido al canal de Sofia2: https://www.youtube.com/watch?v=-7xdSveDhk4&feature=youtu.be

Tutorial Crawling Web

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s