2009-03-31 22 views
14

Tôi đang cố gắng sử dụng API tìm kiếm web AJAX (JSON) của Google bằng Python. Tôi bị mắc kẹt bởi vì urllib.urlencode() của Python chỉ nhận các cặp giá trị, không phải là chuỗi của chính chúng, để mã hóa. Trong API của Google, chuỗi truy vấn là cụm từ tìm kiếm và không liên kết với biến.URL mã hóa một cặp không có giá trị bằng 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 

Tôi làm cách nào để mã hóa cụm từ tìm kiếm của mình?

Trả lời

Các vấn đề liên quan