Я пытаюсь использовать обертку API, загруженную из сети, чтобы получить результаты от нового azure Bing API. Я пытаюсь реализовать его в соответствии с инструкциями, но получаю сообщение об ошибке выполнения:Объект nonetype не имеет атрибута '__getitem__'
Traceback (most recent call last):
File "bingwrapper.py", line 4, in <module>
bingsearch.request("affirmative action")
File "/usr/local/lib/python2.7/dist-packages/bingsearch-0.1-py2.7.egg/bingsearch.py", line 8, in request
return r.json['d']['results']
TypeError: 'NoneType' object has no attribute '__getitem__'
Это код обертка:
import requests
URL = 'https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/Web?Query=%(query)s&$top=50&$format=json'
API_KEY = 'SECRET_API_KEY'
def request(query, **params):
r = requests.get(URL % {'query': query}, auth=('', API_KEY))
return r.json['d']['results']
Инструкции:
>>> import bingsearch
>>> bingsearch.API_KEY='Your-Api-Key-Here'
>>> r = bingsearch.request("Python Software Foundation")
>>> r.status_code
200
>>> r[0]['Description']
u'Python Software Foundation Home Page. The mission of the Python Software Foundation is to promote, protect, and advance the Python programming language, and to ...'
>>> r[0]['Url']
u'http://www.python.org/psf/
Это мой код, который использует обертку (в соответствии с инструкциями):
import bingsearch
bingsearch.API_KEY='abcdefghijklmnopqrstuv'
r = bingsearch.request("affirmative+action")
Не могли бы вы предоставить полную трассировку, а не только ошибку? –
@isbadawi предоставил полную трассу – adohertyd
Каково содержимое 'r' в оболочке? –