Diferencia entre revisiones de «LSWC scraping the web/taller scraping lwsc 2011»

De WikiEducator
Saltar a: navegación, buscar
Línea 13: Línea 13:
 
{{Actividad|
 
{{Actividad|
 
TOCdepth=3|
 
TOCdepth=3|
Title=Configuración del entorno|
 
 
* 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|
Title=Lectura básica de un documento|
+
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
Title=Ejemplo base. Navegando al estilo Python|
+
'''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=2|
+
TOCdepth=3
Title=Acceso al contenido de la página|
+
 
 
<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 05:14 7 nov 2011


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.


Icon objectives.jpg

Objetivo

  • Introducción a las técnicas básicas de scraping usando Python y Amara
  • Herramientas de ayuda (firebug, curl, ...)


Configuración

Python y Amara son multiplataforma. En el taller vamos a indicar cómo instalar el entorno en linux.

Actividad

Icon activity.jpg

Actividad

  • Instalación de python.
$ sudo apt-get install python2.7 python2.7-dev python-pip  idle-python2.7 
  • Instalación de amara
$ sudo pip install http://files.akara.info/00-amara-latest.tar.bz2
Icon present.gif
Tip: Es necesario tener instalado un compilador de C y la cabeceras de python (en debian/ubuntu hay que instalar python-dev)


  • Instalar firebug
https://addons.mozilla.org/es-es/firefox/addon/firebug/





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

Icon activity.jpg

Actividad

Escribe este ejemplo para leer un documento. Modifica URL para que tenga una dirección real. ¿Qué vemos en la pantalla?

  1. from amara.bindery import html
  2. URL = 'http://pagina.destino.com'
  3.  
  4. doc = html.parse(URL)
  5. print doc
Icon present.gif
Tip: doc tiene toda la información del documento






Vamos a practicar con un ejemplo muy sencillo, el ejemplo de la liga


Icon casestudy.gif

Ejemplo

{{{1}}}



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

Icon present.gif
Tip: Para el taller usaremos una copia local, para no saturar el servidor ;-)




Icon activity.jpg

Actividad

{{{1}}}