鱼C论坛

 找回密码
 立即注册
查看: 1812|回复: 3

[已解决]urllib连接翻译网站,句子翻译不出来是什么原因?

[复制链接]
发表于 2023-9-24 10:46:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1695523480040.jpg
如图,单词可以翻译出来,但是句子的话就会报错
代码如下:
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'][0]['v']))


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


'''
最佳答案
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'][0]['v']))

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

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-9-24 10:46:39 | 显示全部楼层
这是因为你使用的是搜狗翻译网站,而该网站的翻译接口是基于单词翻译的,对于整个句子的翻译支持不够完善。建议你使用其他支持句子翻译的翻译接口,比如百度翻译、谷歌翻译等。同时,需要注意的是,不同的翻译接口对于输入参数和输出结果的格式要求可能不同,需要根据具体的接口文档进行调整。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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'][0]['v']))

请注意,使用任何翻译接口时,都需要遵守相应的服务条款和使用限制。如果你在使用接口时遇到问题,请参考相应的文档或联系接口提供商获取支持。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 08:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表