1

次のコードを使用して、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 を使っていると思っていました。

4

0 に答える 0