Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:TypeError:';非类型';对象在第results=data[';responseData';][';results';]行不可下标_Python - Fatal编程技术网

Python:TypeError:';非类型';对象在第results=data[';responseData';][';results';]行不可下标

Python:TypeError:';非类型';对象在第results=data[';responseData';][';results';]行不可下标,python,Python,当我运行代码时,结果是这样的: TypeError:“非类型”对象不可下标 我是Python初学者。我刚刚从一个Python初学者网站上挑选了一个示例项目: 我正在使用Pycharm社区版。参考联机web搜索帮助后,我编辑了一些代码行以供运行,但最后我被这个错误卡住了。 谢谢你的帮助 导入json 从pip.\u vendor.distlib.compat导入原始输入 导入urllib.request url=”http://ajax.googleapis.com/ajax/services/s

当我运行代码时,结果是这样的: TypeError:“非类型”对象不可下标

我是Python初学者。我刚刚从一个Python初学者网站上挑选了一个示例项目: 我正在使用Pycharm社区版。参考联机web搜索帮助后,我编辑了一些代码行以供运行,但最后我被这个错误卡住了。 谢谢你的帮助

导入json
从pip.\u vendor.distlib.compat导入原始输入
导入urllib.request
url=”http://ajax.googleapis.com/ajax/services/search/web?v=1.0&"
query=原始输入(“您想要搜索什么?>>”)
query=urllib.parse.urlencode({'q':query})
response=urllib.request.urlopen(url+query).read()
data=json.load(响应)
结果=数据['responseData']['results']
对于结果中的结果:
title=结果['title']
url=结果['url']
打印(标题+';'+url)

预计该网站将向您发送包含responseData的内容,并且应该包含结果,但由于某种原因(错误?)他们向您发送了不同的数据始终在使用前检查您拥有的内容

以下是如何检查您是否收到了预期的结果:

if 'responseData' in data:
      if 'results' in data['responseData']:
              #-- do stuff 
      else:
              print('Error: no results. Data was:' + data)
else:
      print('Error: no responses. Data was:' + data)
此外,您还可以尝试使用pprint命令打印数据结构,以查看您得到了什么:

from pprint import pprint
pprint(data)

这将帮助您在所有步骤中查看您得到的实际响应、数据等。

您使用哪一版本的python?urllib模块在Python2和Python3之间发生了显著变化。这可能是导致错误的原因。是否在python控制台中运行脚本?我认为该脚本是从命令行
运行的,谷歌Web搜索API不再可用。请迁移到Google自定义搜索API(https://developers.google.com/custom-search/)“,”responseStatus“:403}
我想我应该从比这更简单的事情开始。无论如何,谢谢你!