web scraping - google drive

Upload: camilo-spiritualbat-alfonso

Post on 29-Oct-2015

173 views

Category:

Documents


1 download

TRANSCRIPT

  • Web ScrapingJuan Elosua Tom (@jjelosua)

  • Quin soy?

    Juan Elosua Tom (Twitter: @jjelosua)

    Ingeniero de Telecomunicaciones que trabaja como desarrollador freelance con experiencia en anlisis y visualizaciones de datos.

    Algunos proyectos en los que he colaborado: El indultmetro Espaa en Llamas Donde van mis impuestos - Parte autonmica Infoamazona: Ganado vs. Deforestacin

  • Contenido

    Introduccin

    Web scraping

    Demo dapper

    ScraperWiki

    Conclusiones

  • Introduccin

    Definicin Scraping: Conjunto de tcnicas necesarias para extraer informacin de uno o varios lugares (web, pdf, ...) hacia un formato ms adecuado para su procesamiento.

    Si tratamos con datos complejos, lamentablemente en la actualidad se requiere tener conocimientos de programacin, ya que no hay herramientas suficientemente maduras y "usables"

  • Web scraping - Introduccin

    Definicin: Extraer datos de pginas web. El proceso se puede dividir en dos partes:

    a. Navegacin entre pginas: Normalmente el contenido que queremos extraer est alojado en mltiples pginas web por lo que debemos navegar entre ellas (Paginacin, gran cantidad de datos,...)

    b. Extraccin de informacin de una pgina: En cada pgina debemos seleccionar qu elementos son los que queremos obtener

    Desde la compra de Needlebase por parte de Google las alternativas sin conocimientos de programacin son limitadas.

  • Web scraping - Navegacin (I)

    En la actualidad ste es el subproceso que no cuenta con alternativas integradas de cara a su automatizacin.

    Selenium IDE - plugin Firefox: Originalmente creado para procesos de testing Permite grabar navegaciones ~ macros Excel

  • Web scraping - Navegacin (II)

    Pantallazo Selenium IDE

    ScraperWiki est al menos barajando la posibilidad de incluir la integracin de selenium con scraperWiki

    Al menos Francis Irving CEO de ScraperWiki ha hecho alguna prueba de ello

  • Web scraping - Extraccin

    Para la extraccin existen varias soluciones sencillas para no programadores. Mostramos a continuacin algunas referencias bsicas: Table Capture (Chrome) Table2Clipboard (Firefox) Scraper (Chrome) Google docs - ImportHTML

    Dapper - Propiedad de yahoo, permite extracciones ms completas y personalizadas (requiere registro)

  • Web scraping - GD ImportHTML (I)Wikipedia - Formula 1 lista de banderas rojas

  • Web scraping - GD ImportHTML (II)=importHTML("http://en.wikipedia.org/wiki/List_of_red-flagged_Formula_One_races","table",4)

  • Web scraping - GD ImportHTML (III)

    BOE - Lista de indultos 2013

  • Web scraping - GD ImportHTML (IV)

    =importHTML("http://www.boe.es/buscar/boe.php?frases=no&campo%5B1%5D=DOC&dato%5B1%5D=Indulto&operador%5B1%5D=and&campo%5B2%5D=TIT&dato%5B2%5D=&operador%5B2%5D=and&campo%5B3%5D=DEM&dato%5B3%5D=&operador%5B3%5D=and&campo%5B4%5D=NBO&dato%5B4%5D=&operador%5B4%5D=and&campo%5B5%5D=NOF&dato%5B5%5D=&operador%5B5%5D=and&operador%5B6%5D=and&campo%5B6%5D=FPU&dato%5B6%5D%5B0%5D=01%2F01%2F2013&dato%5B6%5D%5B1%5D=31%2F12%2F2013&sort_field%5B0%5D=fpu&sort_order%5B0%5D=asc&sort_field%5B1%5D=ref&sort_order%5B1%5D=asc&accion=Buscar","list",7)

  • Web scraping - dapper (I)

    1. Nos registramos e iniciamos sesin

    2. Introducimos URL

  • Web scraping - dapper (II)

    1. Seleccionamos de forma itrerativa los campos que queremos extraer 2. Guardamos

  • Web scraping - dapper (III)

    1. Clasificamos los campos en grupos 2. Guardamos

  • Web scraping - dapper (IV)

    1. Nombre del Dapp, descripcin y etiquetas (opcional)

    2. Clasificamos el Dapp (privado o de prueba)

    3. Guardamos

  • Web scraping - dapper (V)

    1. Elegimos formato de salida

  • Web scraping - dapper (VI)

    1. Guardamos el csv generado

  • Demo dapper - Resultados Formula1

    Hagamos un pequeo ejercicio para sacar los datos de las ltimas temporadas de Formula1.

    Podra servirnos para responder preguntas: La formula 1 es ms rpida cada ao? Qu Piloto ha ascendido ms posiciones en

    carrera durante el 2012?

    Vamos all!!

  • Web scraping - dapper Avanzado (I)

    Es posible enlazar un dapp con otro dapp de forma que podamos obtener resultados combinados de ambas fuentes.

    Se pueden extraer partes concretas de un elemento HTML.

    Se puede combinar dapper con funciones de importacin de datos en googleDocs para mejorar la eficacia de la extraccin.

  • Web scraping - dapper Avanzado (II)

    Seleccionamos proyecto y que variable utilizaremos para combinar

  • Web scraping - dapper Avanzado (III)

  • Web scraping - scraperWiki (I)

    Permite escribir programas de web scraping en varios lenguajes de programacin o tambin pagarles para que hagan el web scraping por ti.

  • Web scraping - scraperWiki (II)

    La ventaja principal de scraperWiki es que te permite ver ejemplos de scrapers hechos por otras personas y copiarlos como modelo.

  • Web scraping - scraperWiki (III)

    Un ejemplo para extraer disposiciones BOE

  • Conclusiones - Web Scraping

    Las URLs son tus amigas..revsalas!!...busca patrones...como John Nash en una mente maravillosa a. Ejemplo: Indultos BOE

    Si queris hacer un scraping complejo y no sabis programar:a. Localizad a algn amigo/ciudadano comprometido

    que sepa hacerlo si vuestra tarea es compleja.b. Aprended a programar web scrapers sencillos

    buscando ejemplos en scraperWiki

  • Gracias!!

    Dudas o preguntas?

    Juan Elosua TomTwitter: @jjelosua