2301_78626742 2023-07-27 17:33 采纳率: 0%
浏览 11

KeyError: 'content'


import requests
import json

class Dao(object):
    def __init__(self, word):
        self.url = "https://dict.youdao.com/webtranslate"
        self.headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"
    }
        self.post__data = {
        "from": "auto",
        "to": "auto",
        "w": word
    }

​    def get_data(self):
​        response = requests.post(self.url,headers=self.headers)
​        return response.content
​    def parse_data(self,data):
​        dict_data = json.loads(data)
​        try:
​            print(dict_data['content'] ['out'])
​        except:
​            print(dict_data['content']['word_mean'][0])

​    def run(self):
​        data = self.get_data()
​        self.parse_data(data)

if __name__ == '__main__':
    word = input("请输入你要翻译的单词或句子: ")
    Dao = Dao(word)
    Dao.run()

print(dict_data['content']['word_mean'][0])
~~~~~~~~~^^^^^^^^^^^
KeyError: 'content'

怎么处理呀

  • 写回答

2条回答 默认 最新

  • 梦幻精灵_cq 2023-07-27 17:50
    关注
    • 您引用的key'content'不在字典dict_data中,请查看字典。

    • 是您自己定义的try:下那条打印输出语句出错,就打印你的print() 就是您看到的信息。try后面的except 后的语句是前面出错后的处理——打印输出“错误提示”或者其他操作。但,感觉您当if...else...用了。


    • 建议:print() 您的dict_data字典,看看你引用的键在不在其中。如果用dict.get(key, tip)引用,就不会报错。如果key不在,取值为None,如果给出第二参数,dict.get() 就返回第二参数。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月27日

悬赏问题

  • ¥15 大二软件工程基础大题
  • ¥200 使用python编写程序,采用socket方式获取网页实时刷新的数据,能定时print()出来就行。
  • ¥15 matlab如何根据图片中的公式绘制e和v的曲线图
  • ¥15 我想用Python(Django)+Vue搭建一个用户登录界面,但是在运行npm run serve时报错了如何解决?
  • ¥15 QQ邮箱过期怎么恢复?
  • ¥15 登录他人的vue项目显示服务器错误
  • ¥15 (标签-android|关键词-app)
  • ¥60 如何批量获取json的url
  • ¥15 comsol仿真压阻传感器
  • ¥15 Python线性规划函数optimize.linprog求解为整数