Obtenha os resultados da tradução do site do Bing. Observe que ambos os casos de tradução do chinês para o inglês e da tradução do inglês para o chinês precisam ser considerados.
URL: https://cn.bing.com/translator/
1. Analise a página da web.
Recomenda-se abrir a página da web para verificar a rede quando estiver em branco e, em seguida, inserir uma frase diretamente, para que haja menos pacotes carregados no lado direito e seja fácil encontrar o URL de destino.
Este é o parâmetro de solicitação original, portanto, o parâmetro de dados pode ser construído neste formato. data: {'fromLang': 'auto-detectar', 'texto': texto original, 'para': 'zh-Hans'}, provavelmente é isso. Não quero saber o significado específico de'fromLang ':' detectar automaticamente 'aqui. Pode indicar o significado de uma frase. Tentei traduzir do chinês para o inglês para o inglês.
'texto': Texto original, nem é preciso dizer, este é o parâmetro para salvar o texto original.
'to': 'zh-Hans' Isso significa o que a tradução é, zh-Hans significa chinês simplificado, en significa inglês, aqui é apenas a tradução chinês-inglês-inglês-chinês, na verdade, outras línguas têm outros parâmetros.
Outro ponto é este URL. Ele pode traduzir uma palavra por palavra ou pode traduzir uma frase diretamente. Estou aqui para traduzir uma frase diretamente. Vamos colocar desta forma, é melhor traduzir uma frase diretamente, porque a tradução Uma frase pode traduzir uma única palavra, e uma única palavra pode não necessariamente traduzir uma frase. No máximo, a primeira letra é maiúscula ao traduzir do chinês para o inglês. Outros problemas devem ser menores.
Como os parâmetros que controlam a tradução são diferentes ao traduzir entre chinês e inglês, é necessário determinar se a entrada é um caractere chinês ou uma palavra.
\u4e00 ~ \u9fff
Este é o intervalo de codificação dos caracteres chineses. Nada mais.
Dois, o código
import requests
def start_tran():
content = input('需要翻译的内容呀:\n')
from_data = {
}
for i in content:
if '\u4e00'<= i <= '\u9fff':
print('您输入的是中文!!!')
from_data = {
'fromLang':'auto-detect','text':content,'to':'en'}
break
else:
print('您输入的是英文!!!')
from_data = {
'fromLang':'auto-detect','text': content, 'to': 'zh-Hans'}
break
return from_data
def translate(from_data):
url = 'https://cn.bing.com/ttranslatev3?isVertical=1&&IG=FFEB3453664B412382446351E8F72096&IID=translator.5028.63'
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'}
r = requests.post(url,data = from_data ,headers=headers)
r.raise_for_status()
#print(r.status_code)
r.encoding = r.apparent_encoding
data = r.json() # 取出翻译结果
detectedLanguage = data[0]
translations = detectedLanguage['translations']
result = translations[0]['text']
print(result)
translate(start_tran())
O bloco de código JAVA é fácil de usar (whisper bb)
resultado de execução de código
需要翻译的内容呀:
我能送你回家吗,外面可能要下雨啦。
您输入的是中文!!!
Can I take you home? It may rain outside.
A tradução inglês-chinês funciona igualmente bem.