我正在使用代碼來獲取no。用於實現語義指向的特定詞組的命中。TypeError:'NoneType'對象在Python中沒有屬性'__getitem__'
def hits(word1,word2=""):
query = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=%s"
if word2 == "":
results = urllib.urlopen(query % word1)
else:
results = urllib.urlopen(query % word1+" "+"AROUND(10)"+" "+word2)
json_res = json.loads(results.read())
google_hits=int(json_res['responseData']['cursor']['estimatedResultCount'])
return google_hits
,但是當我給包含的短語很長的文件,它執行高達一定程度,但返回錯誤
"TypeError: 'NoneType' object has no attribute '__getitem__' "
錯誤是動態的,因爲它有時會執行一些短語有時不是。我認爲它是我正在使用的谷歌API的問題。這個函數使用上面的計算SO。
def so(phrase):
num = hits(phrase,"excellent")
print num
den = hits(phrase,"poor")
print den
ratio = (num/ den+0.01)*0.6403669724770642
print ratio
sop = log(ratio)
return sop
任何人有想法,請幫助!
請張貼完整堆棧跟蹤。 – merlin2011