1
私はPythonで同義語プログラムを構築しています。 私はAPI_KEYを持って、私はJSON出力に大きな巨大シソーラスAPIを使用しているときのPythonエラー
を取得することができるよ。しかし、いくつかの「ABRIGATE」のような言葉と、より多くのために、私はターミナル
urlinを見上げるのもTraceback (most recent call last):
File "word_power.py", line 26, in <module>
json_obj = urllib2.urlopen(final_url)
File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 435, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 548, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 473, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 556, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 404: Not Found
に、このエラーを取得しますブラウザで空白のページが表示されます。
http://words.bighugelabs.com/api/2/------API_KEY------/abrigate/json
私はJSON結果が存在するかどうかを検出できないと思います。
私がチェックしてるとのコードは次のとおりです。
json_obj = urllib2.urlopen(final_url)
data = json.load(json_obj)
if not data:
print 'Empty'
if 'noun' not in data:
print 'NO NOUN'
#target.write(" ]\n\n");
if 'verb' not in data:
print 'NO VERB'
#target.write(" ]\n\n")
if 'adjective' not in data:
print 'NO ADJECTIVE'
#target.write(" ]\n\n")
あなたはAPIがエラーを返し、それらのインスタンスをキャッチする必要が