Diferencia entre revisiones de «LSWC scraping the web/taller scraping lwsc 2011»
Línea 24: | Línea 24: | ||
== Lectura de una página html == | == Lectura de una página html == | ||
− | |||
El proceso básico consiste en utilizar un '''parser''' para analizar el documento. Amara tiene 3 parsers: | El proceso básico consiste en utilizar un '''parser''' para analizar el documento. Amara tiene 3 parsers: | ||
amara.parse | amara.parse | ||
Línea 44: | Línea 43: | ||
}} | }} | ||
+ | Vamos a practicar con un ejemplo muy sencillo, el [[/ejemplo liga | ejemplo de la liga]] | ||
{{Ejemplo| | {{Ejemplo| | ||
TOCdepth=3 | TOCdepth=3 | ||
− | Title=Ejemplo base| | + | Title=Ejemplo base. Navegando al estilo Python| |
− | + | * ¿Cuál es el título del documento? | |
− | {{Tip| Para el taller usaremos una copia local, para no saturar el servidor}} | + | print doc.html.head.title |
+ | * ¿Cuáles son las ligas recogidas en el documento? | ||
+ | for liga doc.html.body.h2: | ||
+ | print liga | ||
+ | * ¿Cuáles son los equipos de la Liga BBVA? | ||
+ | for equipo in doc.html.body.ul.li: | ||
+ | print equipo | ||
+ | }} | ||
+ | |||
+ | == Un ejemplo más complejo: análisis de los cursos de formación para el empleo== | ||
+ | Vamos a usar ahora un ejemplo real: el listado de cursos de formación para el empleo del INAEM recogido en http://plan.aragon.es/MapaRec.nsf/fmrListado?OpenForm | ||
+ | {{Tip| Para el taller usaremos una copia local, para no saturar el servidor ;-) }} | ||
}} | }} | ||
Revisión de 06:00 7 nov 2011
Contenido
Planteamiento del taller de scraping
En el taller vamos a usar Python y Amara para hacer una práctica de web scraping. El nivel del taller es de iniciación.
Configuración
Python y Amara son multiplataforma. En el taller vamos a indicar cómo instalar el entorno en linux.
Configuración del entorno
$ sudo apt-get install python2.7 python2.7-dev python-pip idle-python2.7
$ sudo pip install http://files.akara.info/00-amara-latest.tar.bz2 Tip: Es necesario tener instalado un compilador de C y la cabeceras de python (en debian/ubuntu hay que instalar python-dev)
|
Lectura de una página html
El proceso básico consiste en utilizar un parser para analizar el documento. Amara tiene 3 parsers:
amara.parse amara.bindery.parse amara.bindery.html.parse
Para usar documentos html usaremos el tercero, que además soporta documentos no válidos (tagsoup). El objeto que devuelve el parser es el que usamos para leer y modifcar un documento web.
Lectura básica de un documento
Vamos a practicar con un ejemplo muy sencillo, el ejemplo de la liga
Ejemplo | |
print doc.html.head.title
for liga doc.html.body.h2: print liga
for equipo in doc.html.body.ul.li: print equipo
|
Un ejemplo más complejo: análisis de los cursos de formación para el empleo
Vamos a usar ahora un ejemplo real: el listado de cursos de formación para el empleo del INAEM recogido en http://plan.aragon.es/MapaRec.nsf/fmrListado?OpenForm
}}
Acceso al contenido de la página