Download - Web Scraping - Google Drive
-
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