Trabajo con ficheros xml / html
De WikiEducator
< Usuario:Lmorillas | intropyaytozgz
Revisión a fecha de 22:42 3 dic 2012; Lmorillas (Discusión | contribuciones)
Contenido
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.
Búsqueda con xpath
doc = html.parse(URL)
encontrados = doc.xml_select(<expresión xpath>)
for elemento in encontrados:
<tratar_elemento>
Más