Diferencia entre revisiones de «LSWC scraping the web/presentacion lwsc 2011»
De WikiEducator
(15 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 4: | Línea 4: | ||
= Screen Scraping :: Aumentando el poder de la web= | = Screen Scraping :: Aumentando el poder de la web= | ||
− | Luis Miguel Morillas <lmorillas at xml3k.org> | + | Luis Miguel Morillas <lmorillas at xml3k.org> |
+ | |||
+ | Zaragoza, 10 de noviembre de 2011 | ||
identi.ca: lmorillas | identi.ca: lmorillas | ||
Línea 10: | Línea 12: | ||
<div class="slide"> | <div class="slide"> | ||
==1. Intro == | ==1. Intro == | ||
− | |||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | === | + | |
+ | ===¿POR QUÉ HACER SCRAPING?=== | ||
+ | * Web de datos | ||
+ | |||
* En la web hay mucha información | * En la web hay mucha información | ||
* No siempre estructurada (opendata) | * No siempre estructurada (opendata) | ||
− | |||
* '''Divertido''' | * '''Divertido''' | ||
+ | </div> | ||
+ | |||
+ | <div class="slide nobackground"> | ||
+ | ===¿DÓNDE/CÓMO ESTÁN LOS DATOS?=== | ||
+ | ''¿A qué hora es la charla de Jython?'' | ||
+ | [[Archivo:Lswc horario codigo.png]] | ||
+ | |||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | === | + | === CONDICIONES LEGALES === |
* Uso responsable | * Uso responsable | ||
Robots y Screen Scraping (raspado de pantalla): Usted no podrá usar | Robots y Screen Scraping (raspado de pantalla): Usted no podrá usar | ||
Línea 31: | Línea 41: | ||
http://www.imdb.es/help/show_article?conditions | http://www.imdb.es/help/show_article?conditions | ||
</div> | </div> | ||
+ | |||
<div class="slide"> | <div class="slide"> | ||
− | === | + | === ¿POR QUÉ PYTHON? === |
− | * | + | * Muy fácil para "no programadores" |
* Muchos módulos, herramientas, ejemplos y documentación. | * Muchos módulos, herramientas, ejemplos y documentación. | ||
* Desarrollo muy rápido y eficiente | * Desarrollo muy rápido y eficiente | ||
Línea 41: | Línea 52: | ||
<div class="slide"> | <div class="slide"> | ||
==2. ¿Cómo? == | ==2. ¿Cómo? == | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | === PROCESO GENERAL === | ||
+ | * Analizar | ||
+ | * Buscar patrones | ||
+ | * Extracción de datos | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | === | + | === ¿BÚSQUEDA EN EL TEXTO BRUTO? === |
<source lang="python"> | <source lang="python"> | ||
import urllib2 | import urllib2 | ||
Línea 58: | Línea 75: | ||
<div class="slide"> | <div class="slide"> | ||
− | === | + | === NO. MEJOR USAMOS LIBRERÍAS ... === |
* Beautiful Soup | * Beautiful Soup | ||
− | |||
* lxml | * lxml | ||
* html5lib | * html5lib | ||
+ | * mechanize | ||
* scrapemark | * scrapemark | ||
* pyquery | * pyquery | ||
Línea 70: | Línea 87: | ||
<div class="slide"> | <div class="slide"> | ||
− | === | + | === AMARA === |
− | * Proyecto | + | * http://akara.info |
+ | * http://www.xml3k.org | ||
+ | * Proyecto liderado por Uche Ogbuji / [http://zepheira.com/ Zepheira] | ||
+ | * Combina el poder de Python y de las tecnologías XML | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | === | + | === MÁS DETALLES === |
+ | * Implementada en C y Pyhton | ||
+ | * Parser basado en Expat | ||
+ | * API para recorrido de nodos muy eficiente y sencilla<br/> | ||
+ | : Python, XPath, InfoSet | ||
+ | * XPath (& binding dinámico de objetos) | ||
+ | * XSLT (& enlazado con funciones en Python) | ||
+ | * Aserciones basadas en Schematron (validación de modelos) | ||
+ | * Licencia tipo Apache | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | === CREANDO DATOS PARA LA WEB: AKARA === | ||
+ | * '''Akara''' es un framework para construir apps RESTful basadas en datos | ||
+ | * Aplicando sencillos wrappers (decoradores) transformamos funciones en serviciios REST | ||
+ | * Funciona como un repositorio de servicios con '''autodiscover''' | ||
</div> | </div> | ||
+ | |||
<div class="slide"> | <div class="slide"> | ||
− | == | + | === CASOS DE ÉXITO === |
+ | * http://viewshare.org/about/help/ | ||
+ | |||
+ | [http://outreach.zepheira.com/public/loc/recollection/video/recollection-intro.swf http://viewshare.org/static/images/recollection-video-thumbnail.png] | ||
+ | |||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | |||
+ | ==3. Práctica == | ||
</div> | </div> |