arde en el infierno

Diciembre 11th, 2005

On the webservices road

Posted by arcturus in Tecnología

Siguiendo con la ruta de los servicios web y enlazando con mi interés por aprender de una vez por todas Python voy a poner un pequeño ejemplo de como utilizar SOAP con el susodicho lenguaje.

El hecho de usar Python es debido a mi nuevo interés por crear un pequeño applet para gnome (en Python como no! emoticon) al estilo barra de búsqueda rápida. Inmediatamente cuando te planteas el realizarlo lo primero que salta a tu cabeza es el tema de los servicios web, podríamos usar Google, Yahoo, algún diccionario inglés-español .... el abaníco es muy amplio. Así que manos a la obra (coño, parezco el de Bricomanía, dónde está la trocoladora??)

Lo primero de todo es dedicir que implementación de SOAP vamos a utilizar ya que por suerte tenemos unas pocas para elegir. En esta url podemos encontrar distintos links todos referentes al uso de SOAP con Python. Yo me he quedado con la librería SOAPpy, tras leer un poco he visto que es la más utilizada, además viene perfectamentve instaladita en mi Ubuntu emoticon.

Ahora vamos a hacer el Hello World de los servicios web con Google, para comenzar debemos visitar la web en la que Google nos ofrece acceso a sus servicios, Google Web Apis. Ahí obtendremos kit de desarrollo y un identificador (Google Key) para poder utilizar sus servicios. En el kit de desarrollo vienen varios ejemplos de uso en distintos lenguajes de programación (java,perl,visual studio .net), pero no en Python (que suerte canijo!!).

Nos da igual, lo que verdaderamente nos interesa de ese kit es el archivo WSDL (GoogleSearch.wsdl) en el que se especifican las cualidades del servicio (funciones que tenemos, sus parámetros, los resultados que devuelven, los tipos de estos resultados ...). Una vez que tengamos ya todos los ingredientes (donde está la trocoladora???) ya podemos ponernos manos a la obra.

Como os he comentado al principio todo este lio es para aprender un poquito de Python así que en esta dirección podreis encontrar el manual que he seguido para hacer este ejemplito. Es un libro (gratuito por supesto!) fantástico, lectura obligatoria si quieres aprender un poquito de Python.

 

Bueno, lo dicho, aquí os presento el código tan petardo que hace rular el temita emoticon

PYTHON:
  1. from SOAPpy import WSDL
  2.  
  3. WSDLLOCATION="./GoogleSearch.wsdl"
  4. GOOGLEKEY="TU_GOOGLE_KEY_API_AQUI"
  5.  
  6. google=WSDL.Proxy(WSDLLOCATION)
  7. results=google.doGoogleSearch(GOOGLEKEY,"gnome python applets",0,10,True,"",False,"","utf-8","utf-8")
  8. print "Encontrados %d resultados en %f segundos" %(results.estimatedTotalResultsCount,results.searchTime)
  9. print "Mostrando los 10 primeros : "
  10. print "======================================================================"
  11.  
  12. for r in results.resultElements:
  13.     print "Titulo : %s" % r.title.encode("utf-8")
  14.     print "Link : %s" % r.URL.encode("utf-8")
  15.     print "Descripcion : %s" % r.snippet.encode("utf-8")
  16.     print "======================================================================"

 

Muy simple no? Importo la librería, establezco ciertos parametrillos, creo un objeto para trabajar con el servicio web de Google, consumo el servicio doGoogleSearch y vuelco los resultados.

La salida que obtenemos es algo parecido a esto :

CODE:
  1. Encontrados 33500 resultados en 0.152441 segundos
  2. Mostrando los 10 primeros :
  3. ======================================================================
  4. Titulo : <b>Gnome applets</b> with <b>Python</b>
  5. Link : http://www.pygtk.org/articles/applets_arturogf/
  6. Descripcion : The simplest <b>applet</b> we can write can be found in the <b>gnome</b>-<b>python</b> package<br> documentation (/usr/share/doc/python2.x-gnome2/examples/<b>applet</b>/<b>applet</b>.py in <b>...</b>
  7. ======================================================================
  8. Titulo : [Deskbar] Re: <b>Python applets</b> [Was: <b>Gnome</b> 2.14 Module Proposal <b>...</b>
  9. Link : http://mail.gnome.org/archives/deskbar-applet-list/2005-October/msg00127.html
  10. Descripcion : [Deskbar] <b>Python applets</b> [Was: <b>Gnome</b> 2.14 Module Proposal: Deskbar <b>Applet</b>].<br>  From: Jeff Waugh. [Deskbar] Re: <b>Python applets</b> [Was: <b>Gnome</b> 2.14 Module Proposal: <b>...</b>
  11. ======================================================================
  12. Titulo : [Deskbar] <b>Python applets</b> [Was: <b>Gnome</b> 2.14 Module Proposal: Deskbar <b>...</b>
  13. Link : http://mail.gnome.org/archives/deskbar-applet-list/2005-October/msg00118.html
  14. Descripcion : [Deskbar] Re: <b>Python applets</b> [Was: <b>Gnome</b> 2.14 Module Proposal: Deskbar <b>Applet</b>].<br>  From: Davyd Madeley. References:. [Deskbar] <b>Gnome</b> 2.14 Module Proposal: <b>...</b>
  15. ======================================================================
  16. Titulo : RPM Search Götz Waschk &lt;waschk_linux-mandrake_com&gt;
  17. Link : http://rpm.pbone.net/index.php3/stat/15/limit/14/dl/40/pakman/1564/com/G%C3%83%C6%92%C3%82%C2%B6tz%20Waschk%20%3Cwaschk_linux-mandrake_com%3E.html
  18. Descripcion : <b>gnome</b>-<b>python</b>-<b>applet</b>, 2.0.0-3mdk, i586, <b>Python</b> bindings for <b>GNOME</b> Panel <b>applets</b>.<br>  Mandrake 10.X. <b>gnome</b>-<b>python</b>-<b>applet</b>, 2.0.0-3mdk, i586, <b>Python</b> bindings for <b>...</b>
  19. ======================================================================
  20.  

Ea! Ahí está el tio. El primer link que nos ha devuelto es el que estoy usando como tutorial para poder hacer el applet. Ya os contaré como va el tema.

Saludos y adioses!

 

Diciembre 6th, 2005

GoogleMaps OWZ!!

Posted by arcturus in Tecnología

Hoy estaba un poco aburridillo (lo típico, examenes pendientes, la navidad está cerca ...) y me he puesto a bichear un poco por las distintas interfaces que existen para trabajar con GoogleMaps.

Me he encontrado con este artículo, que explica de una forma muy clara y simple como jugar un poco con GoogleMaps.

Aquí os muestro el resultado :

Jejejeje molongui verdad, es muy sencillo de hacer, aquí os dejo el código fuente del html que genera el mapa (ahora mismo está embebido dentro de un iframe):

HTML:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><br />
  2. <html xmlns="http://www.w3.org/1999/xhtml"><br />
  3. <script src="http://maps.google.com/maps?file=api&v=1&key=AQUI VA VUESTRO ID DE GOOGLEMAPS" type="text/javascript"></script><br />
  4. <script src="http://www.ardeenelinfierno.com/test/gmapez.js" type="text/javascript"></script><br />
  5. </head><br />
  6. <body style="margin-left:0px;margin-top:0px"></body></html></p>
  7. <table border="0" summary="googlemap" width="400" height="400" cellpadding="0" cellspacing="0" align="left" valign="top">
  8. <td align="left" valign="top">
  9. <div class="GMapEZ G_SATELLITE_TYPE GLargeMapControl GScaleControl"<br />
  10. style="width: 400px; height: 400px;"><br />
  11. <a href="http://maps.google.com/maps?q=sevilla+spain&ll=37.358373,-5.986476&spn=0.006287,0.020548&t=k&hl=en"><br />
  12. PURPLE S</a>
  13. <img align="right" src="http://www.usuarios.lycos.es/ladyblack7/sugus.jpg"/>  Asociación SUGUS
  14. </div>
  15. <p><a href="http://maps.google.com/maps?q=sevilla+spain&ll=37.359839,-5.988021&spn=0.007259,0.020548&t=k&hl=en"><br />
  16. RED END</a></p>
  17. This is the SIC (Servicio de Informática y <br />Comunicaciones), the place where i work :P
  18. </div>
  19. <p><a href="http://maps.google.com/maps?q=sevilla+spain&ll=37.365894,-5.983043&spn=0.007258,0.020548&t=k&hl=en"><br />
  20. BLUE START</a></p>
  21. Here is where i live!
  22. </div>
  23.  
  24. </td>
  25. </tr>
  26. </table>
  27.  

Si os da por seguir mirando a ver que cositas hay hechas ya os sorprendereis, la gente de Frappr se han currando una especie de grupo de amigos. Peña que está haciendo sus clases en php para hacer el trabajo con php más fácil (aquí) e incluso un nota que se ha currado el GALAXIAN sobre un mapa!!

En fin que si quereis hacer algo con GoogleMaps pegadme un toque que yo me he quedado con ganas emoticon

« Página anterior