Mostrando entradas con la etiqueta buscadores. Mostrar todas las entradas
Mostrando entradas con la etiqueta buscadores. Mostrar todas las entradas

sábado, septiembre 26, 2009

Búsquedas por la web con PERL

El otro día quise ayudar a mi colega Castrol con un tema. Concretamente escribió un post sobre bibliotecas clásicas, y cómo el uso de Google parecía sustituirlo todo.

También contó alguna anécdota como un problema que tuvo al deletrear una palabra inglesa. No sabía si se escribía de una forma o de otra. Al final abrió Google y supuso que la versión con más respuestas era la correcta y la otra era la mala.

Como yo sabía que utiliza un portátil mac pensé en un pequeñito script Perl para facilitar este tipo de dudas. Mac OS X, como la mayoría de GNU/Linux, UNIX, etc. trae el interprete PERL incorporado.

La forma de ejecución es $buscar palabra1 palabra2 y el resultado:

palabra1: 1.200.000 resultados.
palabra2: 10.000 resultados.

El programa Perl es éste, pero lo más importante es que NO FUNCIONA.


Ahora bien, ¿POR QUÉ NO FUNCIONA?

Me he vuelto un poco loco hasta darme cuenta. No es que las sentencias estén mal ni nada de eso. Si en lugar de Google buscáramos en un documento de nuestro PC, en un blog, en un diario, etc. funcionaría sin problemas, pero no en GOOGLE, ni en YAHOO, y me imagino que tampoco funciona en otros muchos buscadores.

Hace años habría funcionado pero hoy en día ya no.

El problema es que estos buscadores están bloqueado la utilización de LWP.

Cuando accedemos al servidor de Google con nuestro programita PERL utilizando LWP, se le informa también de cual es la librería y versión con la que accedemos.

En mi instalación, el "UserAgent" se pasa por defecto con el valor "libwww-perl/5.805". A los buscadores no les gusta que accedamos (LWP) de esta forma y simplemente nos ignoran.

De esta forma podemos ver cómo accedemos:
use LWP::UserAgent;
my $ua=LWP::UserAgent->new;
print $ua->_agent;

¿UNA SOLUCIÓN RÁPIDA?

Bueno, podemos modificar el "default agent identifier" para que ponga que accedemos con Mozilla por ejemplo y asunto solucionado.

Para eso hay que utilizar el módulo LWP::UserAgent en lugar de LWP::Simple. En la imagen siguiente está el código fuente:



Ahora sí, si ejecutamos:

perl buscar.pl aciendo haciendo

Nos da la siguiente respuesta:

aciendo: 778.000 encontrados
haciendo: 51.000.000 encontrados

pd1: Utilizar este programa de esta forma incumple la condición 5.3 que Google establece para el acceso a su servicio (Condiciones de servicio de Google). Para evitar incumplir nada, en el próximo post explicaré la forma de acceso a través del interfaz (API) de Google.

pd2: No se si te será muy útil Castrol, pero espero que tengas suficiente curiosidad para probarlo e incluso que te conviertas en un PERL HACKER.

viernes, agosto 29, 2008

y empieza el fin de semana


En principio estoy de vacaciones y todos los días son iguales, pero este fin de semana estaré un poco desconectado. Me voy a la playa.

El programa de los números de Mersenne está prácticamente terminado. Espero publicarlo el lunes. Está hecho en Visual Basic.

Os dejo un post de algo que me ha sorprendido y podría tener repercusión a medio plazo.

Me imagino que igual que yo, cuando queréis buscar algo acudís a la Wikipedia. No sabía que había una guerra entre la Wikipedia y Google, pero desde luego parece que ya han descubierto sus cartas.

Ya el año pasado había expertos que advertían que el mayor potencial competidor de Google era la Wikipedia. Por ejemplo esto se publicaba el 19 de julio de 2007. Se argumenta que la gente utiliza mayoritariamente Google, pero que las primeras respuestas suelen ser de Wikipedia y es aquí donde adquieres el conocimiento que buscabas.

El 13 de diciembre de 2007 Google anuncia su proyecto Google Knol que es la Wikipedia de Google donde van a pagar a los autores a través de anuncios AdWords. Es el 24 de julio de 2008 cuando se anuncia al público.

En este contexto la Wikipedia se defiende este mismo mes de agosto con este anuncio.

Es estos momentos parece David contra Goliath. La gran ventaja de Google es poder determinar los resultados de búsqueda, pero la Wikipedia ya es suficientemente conocida como para ir por libre.

Saludos.