加速星球 发表于 2023-9-24 10:46:33

urllib连接翻译网站,句子翻译不出来是什么原因?


如图,单词可以翻译出来,但是句子的话就会报错
代码如下:
import urllib.request
import urllib.parse
import json

content = input('需要翻译的内容:')

url = 'https://fanyi.sogou.com/reventondc/suggV3'
data ={}
data['from']='auto'
data['to']='en'
data['client']='web'
data['text']=content
data['uuid']='8bde281e-4827-4f51-8553-6bd5dbe96b8a'
data['pid']='sogou-dict-vr'
data['addSugg']='on'


data = urllib.parse.urlencode(data).encode('utf-8')

response = urllib.request.urlopen(url,data)
html = response.read().decode('utf-8')

target = json.loads(html)
print(target)
print('翻译结果为:%s' %(target['sugg']['v']))


'''
https://fanyi.sogou.com/text?keyword
这个网站
有的句子不行


'''

isdkz 发表于 2023-9-24 10:46:39

这是因为你使用的是搜狗翻译网站,而该网站的翻译接口是基于单词翻译的,对于整个句子的翻译支持不够完善。建议你使用其他支持句子翻译的翻译接口,比如百度翻译、谷歌翻译等。同时,需要注意的是,不同的翻译接口对于输入参数和输出结果的格式要求可能不同,需要根据具体的接口文档进行调整。

陶远航 发表于 2023-9-24 10:46:46

导致句子翻译无法正常工作的原因可能是你在代码中使用的翻译接口不支持句子级别的翻译或者请求参数设置不正确。从你提供的代码来看,你使用的是搜狗翻译的接口。这个接口可能主要适用于单词级别的翻译而不是整个句子的翻译。

如果你想翻译整个句子,可以考虑使用其他支持句子翻译的翻译接口,比如百度翻译、谷歌翻译等。这些接口一般会提供更全面的翻译功能,包括句子级别的翻译。

以下是一个使用百度翻译接口的示例代码:

import urllib.request
import urllib.parse
import json

content = input('需要翻译的内容:')
url = 'http://fanyi.baidu.com/sug'

data = {
    'kw': content
}

data = urllib.parse.urlencode(data).encode('utf-8')
response = urllib.request.urlopen(url, data)
html = response.read().decode('utf-8')
target = json.loads(html)

print(target)
print('翻译结果为:%s' % (target['data']['v']))


请注意,使用任何翻译接口时,都需要遵守相应的服务条款和使用限制。如果你在使用接口时遇到问题,请参考相应的文档或联系接口提供商获取支持。
如果问题已经解决,请设置最佳答案

加速星球 发表于 2023-9-24 11:43:56

陶远航 发表于 2023-9-24 10:46
导致句子翻译无法正常工作的原因可能是你在代码中使用的翻译接口不支持句子级别的翻译或者请求参数设置不正 ...

谢谢
页: [1]
查看完整版本: urllib连接翻译网站,句子翻译不出来是什么原因?