Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Cambio en la web del DRAE

1 view
Skip to first unread message

gamo

unread,
Dec 7, 2009, 7:41:24 AM12/7/09
to

Antes se podía acceder modo texto y en línea de comandos
al diccionario. Ahora han cambiado el submit por una flechita
gráfica y eso hace inviable el método antiguo. ¿Alguien podría
actualizar el script?

#!/usr/local/bin/perl

use warnings;

# Programa para acceder al diccionario de la RAE
# Distribuido bajo los términos de la licencia GNU GPL

if (@ARGV){
if (-e $ARGV[0] && !-d $ARGV[0]){
open IN, "<".$ARGV[0] or die "Cannot open: $!";
chomp ($w = <IN>);
close IN;
}else{
$w = $ARGV[0];
}
}else{
chomp($w = <STDIN>);
}

if (defined $w && $w ne ""){
$a=`lynx -dump -nolist http://buscon.rae.es/draeI/SrvltGUIBusUsual?TIPO_HTML=2'\&'LEMA='$w'`;
print $a;
}

__END__

Gracias y saludos

--
http://www.telecable.es/personales/gamo/
Honesta turpitudo est pro causa bona --Publilius Syrus
"Was it a car or a cat I saw?"
perl -E 'say 111_111_111**2;'

Gonzalo Pérez de Olaguer Córdoba

unread,
Dec 7, 2009, 8:01:17 AM12/7/09
to
Hola gamo <ga...@telecable.es>
el Mon, 7 Dec 2009 12:41:24 +0000 escribiste:

>
> Antes se podía acceder modo texto y en línea de comandos
> al diccionario. Ahora han cambiado el submit por una flechita
> gráfica y eso hace inviable el método antiguo. ¿Alguien podría
> actualizar el script?
>
> #!/usr/local/bin/perl
>
> use warnings;
>
> # Programa para acceder al diccionario de la RAE
> # Distribuido bajo los términos de la licencia GNU GPL
>
> if (@ARGV){
> if (-e $ARGV[0] && !-d $ARGV[0]){
> open IN, "<".$ARGV[0] or die "Cannot open: $!";
> chomp ($w = <IN>);
> close IN;
> }else{
> $w = $ARGV[0];
> }
> }else{
> chomp($w = <STDIN>);
> }
>
> if (defined $w && $w ne ""){
> $a=`lynx -dump -nolist http://buscon.rae.es/draeI/SrvltGUIBusUsual?TIPO_HTML=2'\&'LEMA='$w'`;
> print $a;
> }
>
> __END__
>
> Gracias y saludos
>

Parece que así debería funcionar:

`lynx -dump -nolist http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3'\&'LEMA='$w'`

--
Gonzalo Pérez de Olaguer Córdoba <gp...@iies.es> --- www.gpoc.es
PGP key 2861C704 --- F206 5671 6789 425D 111C 1302 214F 1934 2861 C704

ga...@telecable.es

unread,
Dec 7, 2009, 11:00:13 AM12/7/09
to
Parece que as=C3=AD deber=C3=ADa funcionar:

`lynx -dump -nolist http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3D3'\=
&'LEMA=3D'$w'`
----------------------------

Nope, sale lo mismo de antes. Una pantalla con dos entradas de texto y
la llamada a darle a la flechita.

Gracias por el esfuerzo.

Gonzalo Pérez de Olaguer Córdoba

unread,
Dec 7, 2009, 10:33:18 PM12/7/09
to
Hola ga...@telecable.es
el 7 Dec 2009 17:00:13 +0100 escribiste:

Pues es verdad, pero eso sólo me pasa con el lynx.

Desde el navegador epiphany me funciona bien la URL

http://www.rae.es/ejemplo

que redirecciona a

http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=ejemplo

que es una página con frames. El frame que contiene la info útil es:

http://buscon.rae.es/draeI/SrvltGUIBusUsual?LEMA=ejemplo&origen=RAE&TIPO_BUS=3

y desde epiphany devuelve la info esperada, pero desde lynx devuelve lo que
tú dices.

Ignacio Arenaza

unread,
Dec 8, 2009, 9:16:32 AM12/8/09
to
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

ga...@telecable.es writes:

> Nope, sale lo mismo de antes. Una pantalla con dos entradas de texto y
> la llamada a darle a la flechita.

Creo que de alguna manera comprueba si la petici�n viene desde un
navegador 'interactivo', porque me pasa como a Gonzalo, desde Firefox
si funciona, pero desde lynx pidiendolo a pelo no.

As� que he hecho un script en Perl mezclando lo que ten�as y un par de
recetillas del 'Perl Cookbook' de O'Reilly, y con lo siguiente me
funciona perfectamente :-)

<------> <------> <------> <------> <------> <------> <------>
#!/usr/bin/perl -w

# Programa para acceder al diccionario de la RAE

# Distribuido bajo los t�rminos de la licencia GNU GPLv2

use strict;

use LWP::UserAgent;
use HTTP::Request;
use HTTP::Response;
use HTML::Entities;
use IO::File;
use POSIX;

# Formato de la direcci�n donde se pide el lema. Por si cambia en el futuro :-)
# Basta con marcar la posicion del lema a buscar con '%s' (sin las comillas)
my $RAE_URL_FORMAT = 'http://buscon.rae.es/draeI/SrvltGUIBusUsual?LEMA=%s&origen=RAE&TIPO_BUS=3';

my ($w, $url, $ua, $req, $resp, $tmpfile, $name, $fh);

if (@ARGV){
if (-e $ARGV[0] && !-d $ARGV[0]){
open IN, "<".$ARGV[0] or die "Cannot open: $!";
chomp ($w = <IN>);
close IN;
}else{
$w = $ARGV[0];
}
}else{
chomp($w = <STDIN>);
}

# Codificar las e�es, tildes y dem�s en formato HTML.
$w = HTML::Entities::encode ($w);
$url = sprintf $RAE_URL_FORMAT, $w;

$ua = LWP::UserAgent->new();
# Simular que somos Mozilla Firefox 3.5.5 (se puede cambiar a voluntad)
$ua->agent('Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5');

$req = HTTP::Request->new(GET => $url);
# Simular todas las cabeceras que envia Firefox, para dar el pego }:-)
$req->referer('http://www.rae.es/rae.html');
$req->header('Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8');
$req->header('Accept-Language' => 'en-us,eu;q=0.7,en;q=0.3');
$req->header('Accept-Encoding' => 'gzip,deflate');
$req->header('Accept-Charset' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7');
$req->header('Keep-Alive' => '300');
$req->header('Connection' => 'keep-alive');

$resp = $ua->request($req);
if ($resp->is_error()) {
print "Error recuperando la pagina: %s\n", $resp->status_line;
}

do {
$tmpfile = POSIX::tmpnam();
} until $fh = IO::File->new($tmpfile, O_RDWR|O_CREAT|O_EXCL);

print $fh $resp->content();
close $fh;
print `lynx -dump -nolist -force_html $tmpfile`;
unlink($tmpfile);

exit 0;
<------> <------> <------> <------> <------> <------> <------>

Saludos. I�aki.

- --
Mondragon University

GPG Key available at public keyservers
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Processed by Mailcrypt and GPG

iD8DBQFLHl+gRgC43oKhB3QRAoxTAKCYlQUQ7OLiv5sgIaLLfUOCr5c0TwCdGTWK
fBfCcVRuSaBPQ6fgZ7IyRcE=
=eFww
-----END PGP SIGNATURE-----

ga...@telecable.es

unread,
Dec 8, 2009, 6:03:31 PM12/8/09
to
As� que he hecho un script en Perl mezclando lo que ten�as y un par de
recetillas del 'Perl Cookbook' de O'Reilly, y con lo siguiente me
funciona perfectamente :-)
------------------

Muchas gracias!

Tengo problemas para compilar HTML-Parser, pero alg�n d�a funcionar�.

Saludos

J.A. Gutierrez

unread,
Dec 10, 2009, 7:43:05 AM12/10/09
to

Ignacio Arenaza <iare...@eb2ebu.ampr.org> wrote:
: use LWP::UserAgent;

: print `lynx -dump -nolist -force_html $tmpfile`;


Este....

Y para acabar usando lynx, por que no usarlo desde el principio?

-8<------------------------------------------------------------------------
#!/bin/sh

lynx -crawl -useragent=Mozilla -dump \
"http://buscon.rae.es/draeI/SrvltGUIBusUsual?TIPO_HTML=2&LEMA=$1&FORMATO=DRAE"
-8<------------------------------------------------------------------------

--
PGP and other useless info at \
http://webdiis.unizar.es/~spd/ \
finger://daphne.cps.unizar.es/spd \ Timeo Danaos et dona ferentes
ftp://ivo.cps.unizar.es/pub/ \ (Virgilio)

ga...@telecable.es

unread,
Dec 11, 2009, 3:18:08 AM12/11/09
to
Y para acabar usando lynx, por que no usarlo desde el principio?

-8<------------------------------------------------------------------------
#!/bin/sh

lynx -crawl -useragent=Mozilla -dump \
"http://buscon.rae.es/draeI/SrvltGUIBusUsual?TIPO_HTML=2&LEMA=$1&FORMATO=DRAE"
-8<------------------------------------------------------------------------

===========================

Pues muchas gracias, tambi�n. Lo he adaptado a perl por motivos de acentos,
e�es y dem�s, que no me recoger�a $1, y funciona de maravilla.

Saludos


0 new messages