冥界3大法王 发表于 2020-12-2 13:41

有源码的python在线翻译为啥报错呢?

本帖最后由 冥界3大法王 于 2020-12-2 13:44 编辑


https://fanyi.caiyunapp.com/#/api
令牌我已经申请下来了。
def tranlate(source, direction):

    import requests
    import json
   
    url = "http://api.interpreter.caiyunai.com/v1/translator"
   
    #WARNING, this token is a test token for new developers, and it should be replaced by your token
    token = "3975l6lr5pcbvidl6jl2"
   
   
    payload = {
            "source" : source,
            "trans_type" : direction,
            "request_id" : "demo",
            "detect": True,
            }
   
    headers = {
            'content-type': "application/json",
            'x-authorization': "token " + token,
    }
   
    response = requests.request("POST", url, data=json.dumps(payload), headers=headers)

    return json.loads(response.text)['target']

source = ["Lingocloud is the best translation service.","彩云小译は最高の翻訳サービスです"]
target = tranlate(source, "auto2zh")

print(target)

土豹子不会玩。{:301_1008:} 求指点迷津,谢谢。
大饭桶一个,没学过post
顶上说的执行下述 BASH 命令创建命令行工具 xiaoyi.sh听不明白。。。{:301_972:}

灿烂的小居 发表于 2020-12-2 13:49

pycharm直接运行的结果:
['小译翻译是最好的翻译服务。', '彩云小译是最好的翻译服务']

看看是不是包没有载入

pzx521521 发表于 2020-12-2 13:57

2楼正解 确实可以跑出来
但是报错报的也很明显了
json.loads(response.text)['target']
这个json -> json.loads(response.text)
里面没有target
api的问题, 你把json 输出出来看一下就好了

或者修改为这样:
    response = requests.request("POST", url, data=json.dumps(payload), headers=headers)
    res_json = json.loads(response.text)
    if 'target' in res_json:
      return res_json['target']
    else:
      returnres_json

_Dream 发表于 2020-12-2 14:00

这不是明显的服务器返回的json里面没有target这个key吗......你看一下服务器具体返回的什么数据,再根据key去取具体的值啊....

as614001 发表于 2020-12-2 14:18

response = requests.request("POST", url, data=json.dumps(payload), headers=headers)

冥界3大法王 发表于 2020-12-2 14:25

pzx521521 发表于 2020-12-2 13:57
2楼正解 确实可以跑出来
但是报错报的也很明显了
json.loads(response.text)['target']


@pzx521521
求完整的代码,菜鸟不太会玩。惭愧啊~~

冥界3大法王 发表于 2020-12-2 14:29

就把key换了下,就又好了。{:301_1009:}

zijingyao 发表于 2020-12-2 14:36

楼上的都是大神,完全看不懂这些代码。刚开始学。刚弄懂什么是if esle

hxd97244 发表于 2020-12-2 16:26

没看明白,也不懂
页: [1]
查看完整版本: 有源码的python在线翻译为啥报错呢?