Web Services: XML-RPC, SOAP, sobre PHP, Perl, y otros conceptos

SOAP al igual que XML-RPC puede ser implementado en la mayor�a de los lenguajes de programaci�n actuales dentro del entorno Linux. Entre ellos, est� Python, lenguaje de script similar a Perl, muy querido entre los Debianitas.

Utilizando un m�dulo Python, podemos utilizar toda la potencia de los Servicios Web basados en SOAP. Veamos como:

wget http://switch.dl.sourceforge.net/sourceforge/pywebsvcs/SOAPpy097.tgz 
tar -zxvf SOAPpy097.tgz 
cp -Rdf SOAPpy097 /usr/lib/python2.2/site-packages 

Es recomendable utilizar Python 2.1, o 2.2, para evitar un problema de memoria que se da con el parser XML de la versi�n 2.0

Referencia: http://www.fettig.net/googleRank.txt

Un script en Python que utilice este m�dulo para efectuar una consulta sobre Google ser�a as�:

#!/usr/bin/python 
import SOAP 
import string 

key = 'iwnUXUtHj3bteg5FWfBJDwui3SPeB+iy' 
soapfalse = SOAP.booleanType(0) 
emptyStr = SOAP.stringType('') 

def rank(site, query): 
    x=1 
    server = SOAP.SOAPProxy('http://api.google.com/search/beta2', namespace=
'urn:GoogleSearch') 
    start = 0 
    while start < 10: 
        data = server.doGoogleSearch( SOAP.stringType(key), 
SOAP.stringType(query), start*10, 10, soapfalse, emptyStr, soapfalse, emptyStr, 
emptyStr, emptyStr) 
        results = data.resultElements 
        for result in results: 
            try: 
                result.URL.index(site) 
                return (result.URL, start*10 + results.index(result) + 1) 
            except: 
                pass 
            x = x+1 
                 
        start = start + 1 

if __name__ == '__main__': 
    import sys 
    searchPhrase = string.join(sys.argv[2:]," ") 
    result = rank(sys.argv[1], searchPhrase) 
    if result: 
        print "'" + result[0] + "'" + " is currently ranked #" + str(result[1]) 
+ " on Google for the search phrase '" + searchPhrase + "'." 
    else: 
        print "'" + sys.argv[1] + "'" + " is not currently in the top 100 
results for the search phrase '" + searchPhrase +  "' on Google." 

Una versi�n m�s simplificada y m�s clara de este c�digo es la siguiente:

#!/usr/bin/python 
import SOAP 
key = 'iwnUXUtHj3bteg5FWfBJDwui3SPeB+iy' 
query = 'python' 
s = SOAP.SOAPProxy("http://api.google.com/search/beta2") 
r = s.doGoogleSearch(key, query, 0, 10, "false", "", "false", "", "latin1", 
"latin1") 

Existe un proyecto llamado PyGoogle que puede ayudarnos a la hora de extraer informaci�n adicional de Google, como por ejemplo p�ginas cacheadas o sugerencias de correcci�n ortogr�fica. PyGoogle es una aplicaci�n basada en SOAP y el Servicio Web de Google.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO