我正在尝试使用Python和simplejson来筛选Google搜索的第一个结果,但我无法像在线演示的许多示例那样访问搜索结果。这是一个片段:
url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s' % (query)
search_results = urllib.urlopen(url)
json = simplejson.load(search_results)
try:
results = json['responseData']['results'] # always fails at this line
first_result = results[0]
except:
print "attempt to set results failed"
当我在浏览器中转到http://ajax.googleapis.com/ajax/services/search/web?v=1.0&stackoverflow(或替代%s的任何其他内容)时,它会显示“{”responseData“:null,”responseDetails“:”clip sweeping“,”responseStatus“ :204}。“除了尝试使用显然为空的responseData之外,还有其他方法可以在Python中访问Google搜索的结果吗?
答案 0 :(得分:2)
你错过了& q =。您还应该考虑使用api-key。 http://code.google.com/intl/de/apis/ajaxsearch/documentation/。除了普通的字符串连接不起作用,你需要转义参数。
url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q= ' + urllib.quote_plus(query)