Я пробую к screenscrape первый результат поиска Google использование Python и simplejson, но я не могу получить доступ к результатам поиска способ, которым онлайн демонстрируют много примеров. Вот отрывок:
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}". Там некоторый другой путь состоит в том, чтобы получить доступ к результатам поиска Google в Python помимо попытки использовать по-видимому пустой responseData?
Вы пропустили & q =. Вам также следует подумать об использовании API-ключа. 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)