我已经写了这段代码;
import bingsearch
bingsearch.API_KEY='mykey'
r = bingsearch.request("JohnDalton")
r.status_code
r[0]['Description']
print r[0]['Url']
这是bingsearch.py文件
import requests
import urllib2
URL = 'https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/Web?Query=%(query)s&$top=50&$format=json'
API_KEY = 'mykey'
def request(query, **params):
r = requests.get(URL % {'query': query}, auth=('', API_KEY))
return r.json['d']['results']
正如我在标题中提到的,它给了我一个实例方法错误。我该如何解决这个问题?
答案 0 :(得分:1)
@Chris Barker早些时候出现了。
您需要将行return r.json['d']['results']
更改为return r.json()['d']['results']
。
您应该对requests.get
结果和返回的JSON进行正确的错误检查。它可能不包含您期望的项目,然后会引发KeyError
。
对于请求错误,您可能需要检查request documentation,其中包含可能异常的基本起点。