Diferencia entre revisiones de «Usuario:Lmorillas/intropyaytozgz/xml»
De WikiEducator
(→Instalar) |
|||
Línea 1: | Línea 1: | ||
− | {{MiTitulo|Trabajo con ficheros xml}} | + | {{MiTitulo|Trabajo con ficheros xml / html}} |
− | + | == Amara == | |
* http://wiki.xml3k.org/Amara ([http://wiki.xml3k.org/Amara/Tutorial Tutorial]) | * http://wiki.xml3k.org/Amara ([http://wiki.xml3k.org/Amara/Tutorial Tutorial]) | ||
* Tiene dos interfaces: | * Tiene dos interfaces: | ||
Línea 25: | Línea 25: | ||
</source> | </source> | ||
</li></ul> | </li></ul> | ||
− | + | === Instalar === | |
Para instalar la última versión: | Para instalar la última versión: | ||
$ sudo pip install http://files.akara.info/00-amara-latest.tar.bz2 | $ sudo pip install http://files.akara.info/00-amara-latest.tar.bz2 | ||
Línea 33: | Línea 33: | ||
{{Tip| Es necesario tener instalado un compilador de C y la cabeceras de python (en debian/ubuntu hay que instalar '''python-dev'''}} | {{Tip| Es necesario tener instalado un compilador de C y la cabeceras de python (en debian/ubuntu hay que instalar '''python-dev'''}} | ||
+ | |||
+ | == Scraping con Amara == | ||
+ | |||
+ | === 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 modificar un documento web. | ||
+ | |||
+ | {{Actividad| | ||
+ | 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" > | ||
+ | from amara.bindery import html | ||
+ | URL = 'http://pagina.destino.com' | ||
+ | |||
+ | doc = html.parse(URL) | ||
+ | print doc | ||
+ | </source> | ||
+ | {{Tip|'''doc''' tiene toda la información del documento}} | ||
+ | }} | ||
+ | |||
+ | {{Tip| '''Más info''': http://es.wikieducator.org/LSWC_scraping_the_web/taller_scraping_lwsc_2011}} |
Revisión de 22:40 3 dic 2012
Amara
- http://wiki.xml3k.org/Amara (Tutorial)
- Tiene dos interfaces:
-
Una muy rápida y con una sintaxis más cercana al xml
import amara URL = '....' # URL puede ser una url, una ruta de un fichero o una cadena de texto doc = amara.parse(URL)
-
Otra más amigable y fácil de utilizar, que convierte el xml en objetos python.
from amara import bindery URL = '....' doc = bindery.parse(URL)
# si el html o xml puede no ser válido: from amara.bindery import html URL = '....' doc = html.parse(URL)
Instalar
Para instalar la última versión:
$ sudo pip install http://files.akara.info/00-amara-latest.tar.bz2
O descargar, descomprimir y ejecutar dentro del directorio de amara:
$ sudo python setup.py install
Tip: Es necesario tener instalado un compilador de C y la cabeceras de python (en debian/ubuntu hay que instalar python-dev
Scraping con Amara
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 modificar un documento web.