LSWC scraping the web/presentacion lwsc 2011

= Screen Scraping :: Aumentando el poder de la web=

Luis Miguel Morillas &lt;lmorillas at xml3k.org&gt;

Zaragoza, 10 de noviembre de 2011

identi.ca: lmorillas

¿POR QUÉ HACER SCRAPING?

 * Web de datos


 * En la web hay mucha información
 * No siempre estructurada (opendata)
 * Divertido

¿DÓNDE/CÓMO ESTÁN LOS DATOS?
¿A qué hora es la charla de Jython?

CONDICIONES LEGALES
Robots y Screen Scraping (raspado de pantalla): Usted no podrá usar minería de datos ("data mining"), robots, screen scraping o herramientas similares de acumulación y extracción de datos en este sitio de red, salvo con nuestro consentimiento expreso y por escrito tal y como se indica a continuación. http://www.imdb.es/help/show_article?conditions
 * Uso responsable

¿POR QUÉ PYTHON?

 * Muy fácil para "no programadores"
 * Muchos módulos, herramientas, ejemplos y documentación.
 * Desarrollo muy rápido y eficiente
 * Open-source

PROCESO GENERAL

 * Analizar
 * Buscar patrones
 * Extracción de datos

¿BÚSQUEDA EN EL TEXTO BRUTO?

 * Proceso del texto (Búsqueda subcadenas ...)
 * Expresiones regulares

NO. MEJOR USAMOS LIBRERÍAS ...
...
 * Beautiful Soup
 * lxml
 * html5lib
 * mechanize
 * scrapemark
 * pyquery
 * scrapy

AMARA

 * http://akara.info
 * http://www.xml3k.org
 * Proyecto liderado por Uche Ogbuji / Zepheira
 * Combina el poder de Python y de las tecnologías XML

MÁS DETALLES

 * Implementada en C y Pyhton
 * Parser basado en Expat
 * API para recorrido de nodos muy eficiente y sencilla
 * 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

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

CASOS DE ÉXITO

 * http://viewshare.org/about/help/

http://viewshare.org/static/images/recollection-video-thumbnail.png

3. Práctica
Scraping the web with amara