次のコードを使用して、Google 検索からリンクを抽出し、キーワードを含むテキストを取得するために使用しています。
# -*- coding: utf-8 -*-
import json
import urllib.request, urllib.parse
def showsome(searchfor,rzs,start,lang):
query = urllib.parse.urlencode({'q': searchfor})
url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&{0}&q=gates&rsz={1}&start={2}&hl={3}'.format(query,rzs,start,lang)
search_response = urllib.request.urlopen(url)
search_results = search_response.read().decode("utf8")
results = json.loads(search_results)
data = results['responseData']
print(data)
hits = data['results']
print(hits)
#print('Top %d hits:' % len(hits))
listofLinks = []
for h in hits:
#print(' ', h['url'])
listofLinks.append(h['url'])
return(listofLinks)
showsome('manger','1','4','fr')
ただし、間隔を置いて次のエラーが発生します。
トレースバック (最新の呼び出しが最後):
ファイル「C:\Python33\code\htmlDraft.py」の 27 行目
print(showsome('manger','4','1','fr'))
showsome のファイル「C:\Python33\code\htmlDraft.py」、17 行目
hits = data['results']
TypeError: 'NoneType' オブジェクトは添字可能ではありません
これは、彼がデータを受信しないという趣旨の何かを意味します。それはGoogleが私をブロックしているからですか?私は彼らの ajax API を使っていると思っていました。