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?