0

我已经写了这段代码;

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']   

正如我在标题中提到的,它给了我一个实例方法错误。我应该如何解决这个问题?

4

1 回答 1

1

@Chris Barker 早先出现了。

您需要将您的线路更改return r.json['d']['results']return r.json()['d']['results'].

您确实应该对requests.get结果和返回的 JSON 进行适当的错误检查。它可能不包含您期望的项目,然后会引发KeyError.

对于请求错误,您可能需要检查请求文档,其中包含一些可能的异常的基本起点。

于 2013-08-07T17:06:11.347 回答