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

タイトルで述べたように、instancemethod エラーが発生します。これを修正するにはどうすればよいですか?

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 に答える