1

我正在尝试使用 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”:空,“responseDetails”:“剪辑扫描”,“responseStatus”:204}。除了尝试使用明显为空的 responseData 之外,还有其他方法可以在 Python 中访问 Google 搜索的结果吗?

4

1 回答 1

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)
于 2010-06-23T15:38:42.707 回答