从JSON抓取嵌套数据时出错

时间:2020-10-04 10:26:47

标签: python-3.x api python-requests flask-restful

所以我知道这里有一些关于检索嵌套的JSON数据的问题,但实际上我使这一点工作了。

我实际上得到了想要的结果,该结果仅显示了Fun Translations API中的“ translate”键。我对代码没有做任何更改,现在遇到了错误

KeyError:“内容”

我了解此错误。它无法在给定的请求URL上找到“内容”,但是我不明白为什么我会在一个阶段获得想要的结果,并且当我不更改任何代码时突然停止工作。

def extract_useful_info(translated):
    text = []
    wanted_info = translated['contents']['translated']
    text.append(wanted_info)
    return text

@app.route('/pokemon/<string:name>/', methods=['GET', 'POST'])
def get_translation(name):
    descrip_url = f"https://pokeapi.co/api/v2/pokemon-species/{name.lower()}"
    r = requests.get(descrip_url)
    json_blob = r.json()
    text_trans = extract_descriptive_text(json_blob)
    trans_url = f"https://api.funtranslations.com/translate/shakespeare.json?text={text_trans}"
    shakespeare = requests.get(trans_url)
    translated = shakespeare.json()
    useful_info = extract_useful_info(translated)
    return jsonify({'name': name}, {'description': useful_info})

对于我可能会缺少的任何提示或建议,将不胜感激

谢谢!

1 个答案:

答案 0 :(得分:0)

解决了!

Fun Translation API将通话次数限制为每小时5次。它通常会给您一条消息来表明这一点,但是由于我绕过了提供此错误的密钥,并且无法访问“内容”密钥,因此我收到了ErrorKey消息