Diferencia entre revisiones de «Usuario:Lmorillas/intropyaytozgz/xml»

De WikiEducator
Saltar a: navegación, buscar
(Instalar)
Línea 1: Línea 1:
{{MiTitulo|Trabajo con ficheros xml}}
+
{{MiTitulo|Trabajo con ficheros xml / html}}
  
=== Amara ===
+
== 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 ====
+
=== 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 21:40 3 dic 2012


Amara

  • 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
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


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.



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






Icon present.gif
Tip: Más info: http://es.wikieducator.org/LSWC_scraping_the_web/taller_scraping_lwsc_2011