1

我正在使用以下代码从谷歌搜索中提取链接,以用于获取包含关键字的文本。

# -*- 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'))

文件“C:\Python33\code\htmlDraft.py”,第 17 行,in showsome

hits = data['results']

TypeError:“NoneType”对象不可下标

这意味着他没有收到数据。那是因为谷歌阻止了我吗?我以为我在使用他们的 ajax API。

4

0 回答 0