Buscar en Wikipedia [PERL]

Iniciado por leogtz, 22 Agosto 2009, 21:04 PM

0 Miembros y 1 Visitante están viendo este tema.

leogtz

Para todo uso mi consola de comandos, hice este script para que me diera la salida en mi consola.

Código (perl) [Seleccionar]
#!/usr/bin/perl
use strict;
use warnings;
if($#ARGV != 0)
{
print "$0 \"Busqueda\"\n";
exit(0);
}
$ARGV[0] =~ s/(\w+)/\u\L$1/g;
use WWW::Wikipedia;
my $wiki = WWW::Wikipedia->new();
$wiki = WWW::Wikipedia->new(language => 'es');
my $result = $wiki->search("$ARGV[0]");
if(!$result)
{
print "Error: ", $wiki->error(), "\n";
exit(1);
}
if($result->text())
{
      print $result->text();
  }
exit(0);


leo@lein:~/Escritorio/pl$ perl pl.pl "Linus Torvalds"
{{Ficha de persona |nombre= Linus Benedict Torvalds |imagen= Linus Torvalds.jpeg
|descripción = Torvalds en 2002 |fecha de nacimiento= 28 de diciembre de 1969
() |lugar de nacimiento= , Helsinki |fecha de fallecimiento= |lugar de
fallecimiento= |nacionalidad = finlandés |ocupación= Ingeniero de software
|cónyuge= Tove Torvalds }} 'Linus Benedict Torvalds' (nacido el 28 de diciembre
de 1969), es un ingeniero de software finlandés; es conocido por desarrollar la
primera versión del núcleo de sistema operativo (kernel) Linux, basándose en
el sistema operativo libre Minix creado por Andrew S. Tanenbaum y en algunas
herramientas, los compiladores y un número de utilidades desarrollados por el
proyecto GNU. Actualmente Torvalds es responsable de la coordinación del
proyecto. Pertenece a la comunidad hablante de sueco de Finlandia (que también
es oficial y hablado por aproximadamente el 6% de la población).
leo@lein:~/Escritorio/pl$ perl pl.pl "octavio paz"
{{Ficha de escritor |Nombre = Octavio Paz | |Imagen=Paz0.jpg
|TextoImagen=Octavio Paz Lozano |Fecha_nacimiento=31 de marzo de 1914
|Lugar_nacimiento=Ciudad de México, |Fecha_fallecimiento=19 de abril de 1998
|Lugar_fallecimiento=Ciudad de México, |Ocupación=Poeta, escritor, ensayista y
diplomático |Nacionalidad=Mexicano |Periodo=1939-1998 |Género=poesía
|Movimiento=Modernismo |Influencias=Ruben Dario<br />Juan Ramón Jiménez<br
/>Antonio Machado<br />Gerardo Diego |Firma= |Website= |Notas= }}

'Octavio Paz Lozano' (* Ciudad de México, 31 de marzo de 1914 - ídem; 19 de
abril de 1998), fue un poeta, escritor, ensayista y diplomático mexicano,
(1990). Es considerado uno de los más grandes escritores del siglo XX y uno de
los grandes poetas hispanos de todos los tiempos.<ref name=ColNac></ref> Era un
escritor prolífico cuya obra abarcó varios géneros, entre los que
sobresalieron textos poéticos, el ensayo y traducciones.
leo@lein:~/Escritorio/pl$ perl pl.pl
pl.pl "Busqueda"
leo@lein:~/Escritorio/pl$
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Novlucker

Juaj, pero eso de usar la consola para la wikipedia ya es exagerar  :xD
No sabía que había un modulo para la wikipedia  :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

leogtz

Hay modulos para todo, hay miles en cpan.

Naaa, yo uso la consola para todo, solo me falta chatear desde la consola, pero sí pienso hacerlo.

:D
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Erik#

A mi me parece una tonteria, la verdad, ahí no hay un código, ahí hay un par de funciones y no un código.

leogtz

#4
Pues depende de para ti que sea un código, Perl se caracteriza para que con unas pocas líneas, puedas armar algo interesante, esa es su filosofía, en este caso yo dije que me encanta usar la consola, paso mucho tiempo allí, por lo que se me hace más fácil leer información desde allí que abrir el navegador y teclear.

Pero, bueno, me extraña que critiques un código así, sabiendo que tu tutorial sobre Perl es pesimo y tu nivel en Perl es infimo.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

h0oke

CitarCódigo: Conjunto de líneas.
:xD

Me gusta bastante Leo, yo siempre he buscado ese tipo de cosas.

Una pregunta... Será que se puede ocupar para buscar info en Cplusplus?


leogtz

Cita de: dynyck en 23 Agosto 2009, 17:55 PM
CitarCódigo: Conjunto de líneas.
:xD

Me gusta bastante Leo, yo siempre he buscado ese tipo de cosas.

Una pregunta... Será que se puede ocupar para buscar info en Cplusplus?



Los únicos modulos sobre cplusplus son:
http://search.cpan.org/search?query=cplusplus&mode=all


Pero algo de perl lo consigues fácil, yo en este caso no sé mucho, estoy aprendiendolo, pero como "hobie", me encanta el poder que tiene para manejar texto, sus expresiones regulares y los miles de modulos que hay.

Tal vez el programa es una "chorrada", pero en fín, cumple para lo que está hecho, hacer una busqueda en Wikipedia par a una persona que odia usar el mouse y le encanta usar su consola de comandos.

Pero, bueno, gracias por comentar el código.

PD : En scripting se ve muy poco Perl.  :-(
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

isseu

perl es muy entretenido :), rapido y sencillo

h0oke

Es que en sí, el scripting es un lenguaje de programación interpretado... No se trata de hacer codes de miles de líneas, sino tratar de resolver problemas "medianamente grades" en la menor cantidad posible.

Gracias por la info Leo.

Littlehorse

Muy bueno Leo! pasa a formar parte de mi codigoteca :D :D. Yo tambien estoy dandole un poco a Perl solo como hobbie y la verdad que para ciertas tareas es fantastico.

Un saludo
An expert is a man who has made all the mistakes which can be made, in a very narrow field.