5.10.2005

Diccionario RAE con python

Este post es solo para enseñar lo que es un lenguaje de verdad a alguien que yo me sé :)
C:\temp>rae.py barruntar
barruntar
-> Prever, conjeturar o presentir por alguna se├▒al o indicio.

C:\temp>type rae.py
import re;
import sys;
import urllib;
if(len(sys.argv) > 1):
s =re.compile("<span class=\"eAcep\">(.*?)</span>");
rm = re.compile("<.*?>(.*?)<.*?>");
l = urllib.urlopen("http://buscon.rae.es/draeI/SrvltGUIBusUsual?TIPO_BUS=1&LEMA=%s" % sys.argv[1]).read();
g = s.findall(l)
if(g):
print sys.argv[1]
for i in g:
print "->"+ rm.sub(lambda x:x.group(1),i);


C:\temp>



Falla el character enconding, pero en 3 minutos no me da tiempo a mirar la documentación (realmente tampoco me interesa :P). Siempre se ha dicho que parsear HTML con regexp es un asesinato, pero ahí esta.
a dormir

2 comentarios:

Anónimo dijo...

Jajajaja,

el script que yo puse (y que no es mío) es bash-script, no es PHP -ese lenguaje de nenas-, pero si quieres me lo curro en PHP y a lo mejor ocupa menos que el tuyo y todo :-p,

Javi Santana dijo...

Ya ya, ya sabía que era bash, sigue siendo para nenazas. En cuanto al número de lineas no me entretuve demasiado en minimizarlas.

Aunque fíjate que de ocupar poco tengo algunas cosas en la recamara :)