2009-03-31 8 views
14

J'essaie d'utiliser l'API de recherche Web AJAX (JSON) de Google en Python. Je suis bloqué parce que urllib.urlencode() de Python ne prend que des paires de valeurs, et non des chaînes, pour encoder. Dans l'API de Google, la chaîne de requête est le terme de recherche et elle n'est associée à aucune variable.URL encoder une paire sans valeur en Python

query = "string that needs to be encoded" 
params = urllib.urlencode(query) # THIS FAILS 
# http://code.google.com/apis/ajaxsearch/documentation/reference.html 
url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&rsz=large&%s&%s" % (params, GOOGLE_API_KEY) 

request = urllib2.Request(url) 
request.add_header('Referer', GOOGLE_REFERER) 

search_results = urllib2.urlopen(request) 
raw_results = search_results.read() 
json = simplejson.loads(raw_results) 
estimatedResultCount = json['responseData']['cursor']['estimatedResultCount'] 

if estimatedResultCount != 0: 
    print "Google: %s hits" % estimatedResultCount 

Comment j'optimiser mes termes de recherche?

Répondre

Questions connexes