Diferencia entre revisiones de «LSWC scraping the web/taller scraping lwsc 2011»
Línea 13: | Línea 13: | ||
{{Actividad| | {{Actividad| | ||
TOCdepth=3| | TOCdepth=3| | ||
− | |||
* Instalación de python. | * Instalación de python. | ||
$ sudo apt-get install python2.7 python2.7-dev python-pip idle-python2.7 | $ sudo apt-get install python2.7 python2.7-dev python-pip idle-python2.7 | ||
Línea 33: | Línea 32: | ||
{{Actividad| | {{Actividad| | ||
TOCdepth=2| | TOCdepth=2| | ||
− | + | Escribe este ejemplo para leer un documento. Modifica '''URL''' para que tenga una dirección real. ¿Qué vemos en la pantalla? | |
<source lang="python" line="GESHI_NORMAL_LINE_NUMBERS" > | <source lang="python" line="GESHI_NORMAL_LINE_NUMBERS" > | ||
from amara.bindery import html | from amara.bindery import html | ||
Línea 39: | Línea 38: | ||
doc = html.parse(URL) | doc = html.parse(URL) | ||
+ | print doc | ||
</source> | </source> | ||
{{Tip|'''doc''' tiene toda la información del documento}} | {{Tip|'''doc''' tiene toda la información del documento}} | ||
Línea 46: | Línea 46: | ||
{{Ejemplo| | {{Ejemplo| | ||
TOCdepth=3 | TOCdepth=3 | ||
− | + | '''Navegando al estilo Python''' | |
* ¿Cuál es el título del documento? | * ¿Cuál es el título del documento? | ||
print doc.html.head.title | print doc.html.head.title | ||
Línea 62: | Línea 62: | ||
{{Actividad| | {{Actividad| | ||
− | TOCdepth= | + | TOCdepth=3 |
− | + | ||
<source lang="python" line="GESHI_NORMAL_LINE_NUMBERS" > | <source lang="python" line="GESHI_NORMAL_LINE_NUMBERS" > | ||
from amara.bindery import html | from amara.bindery import html |
Revisión de 06:14 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.
Actividad
$ 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.
Actividad
Vamos a practicar con un ejemplo muy sencillo, el ejemplo de la liga
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