2009-03-31 4 views
14

Ich versuche, Google AJAX (JSON) Web Search API in Python zu verwenden. Ich stecke fest, weil Pythons urllib.urlencode() nur Wertepaare und keine eigenen Zeichenfolgen für die Codierung benötigt. In der Google-API ist die Abfragezeichenfolge der Suchbegriff und sie wird keiner Variablen zugeordnet.URL codieren ein nicht-Wert-Paar in 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 

Wie leite ich meine Suchbegriffe ein?

Antwort