溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python中怎么實(shí)現(xiàn)一個(gè)谷歌翻譯功能

發(fā)布時(shí)間:2021-08-09 14:28:30 來(lái)源:億速云 閱讀:562 作者:Leah 欄目:大數(shù)據(jù)

今天就跟大家聊聊有關(guān)python中怎么實(shí)現(xiàn)一個(gè)谷歌翻譯功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

python中怎么實(shí)現(xiàn)一個(gè)谷歌翻譯功能
python中怎么實(shí)現(xiàn)一個(gè)谷歌翻譯功能

import requestsimport jsonimport reimport time
def googleTranslate(text):    """        用谷歌翻譯內(nèi)容,返回翻譯結(jié)果        params: text 翻譯的內(nèi)容        return: str s 翻譯結(jié)果    """
   url = 'https://translate.google.cn/_/TranslateWebserverUi/data/batchexecute?rpcids=MkEWBc&f.sid=-2984828793698248690&bl=boq_translate-webserver_20201221.17_p0&hl=zh-CN&soc-app=1&soc-platform=1&soc-device=1&_reqid=5445720&rt=c'    headers = {      'origin': 'https://translate.google.cn',      'referer': 'https://translate.google.cn/',      'sec-fetch-dest': 'empty',      'sec-fetch-mode': 'cors',      'sec-fetch-site': 'same-origin',      'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36',      'x-client-data': 'CIW2yQEIpbbJAQjEtskBCKmdygEIrMfKAQj2x8oBCPfHygEItMvKAQihz8oBCNzVygEIi5nLAQjBnMsB',      'Decoded':'message ClientVariations {repeated int32 variation_id = [3300101, 3300133, 3300164, 3313321, 3318700, 3318774, 3318775, 3319220, 3319713, 3320540, 3329163, 3329601];}',      'x-same-domain': '1'      }  # 以防萬(wàn)一,我全加上了,可能有些不寫(xiě)也可以    data = {          'f.req': f'[[["MkEWBc","[[\\"{text}\\",\\"auto\\",\\"zh-CN\\",true],[null]]",null,"generic"]]]'      }  # text則是你要翻譯的內(nèi)容
   res = requests.post(url, headers=headers, data=data).text # 獲取返回的結(jié)果    pattern = '\)\]\}\'\s*\d{3,4}\s*\[(.*)\s*' # 提取需要的部分    part1 = re.findall(pattern, res)    part1_list = json.loads(part1[0])  # 字符串轉(zhuǎn)列表    if part1_list[2] is None:  # 如果返回的結(jié)果中沒(méi)有需要的數(shù)據(jù),則返回輸入的內(nèi)容        print(text)        return text    content1 = part1_list[2].replace('\n', '')    part2_list = json.loads(content1)[1][0][0][5:][0]  # 過(guò)濾結(jié)果中重復(fù)的部分    s = ''    for i in part2_list:  # 遍歷結(jié)果中的每一句話,并進(jìn)行拼接        s += i[0]    print(s)    return stext = 'friend. Let us look back on 2020 and look forward to 2021.'print(text)googleTranslate(text)

效果

效果如何?
python中怎么實(shí)現(xiàn)一個(gè)谷歌翻譯功能

如何翻譯成其他語(yǔ)言?

當(dāng)然,這僅僅是實(shí)現(xiàn)了任何語(yǔ)言轉(zhuǎn)為中文,要轉(zhuǎn)為別的語(yǔ)言,你可以通過(guò)執(zhí)行js,獲取所有語(yǔ)言對(duì)應(yīng)的英文字母,以字典的形式存儲(chǔ),最后保存為json文件
python中怎么實(shí)現(xiàn)一個(gè)谷歌翻譯功能
然后執(zhí)行程序時(shí),動(dòng)態(tài)地輸入翻譯后的語(yǔ)言,去json文件中獲取對(duì)應(yīng)的英文代表,然后替換data中的"zh-CN"即可。比如我想翻譯成日語(yǔ),我就將“zh-CN”替換成 “ja”,這樣,翻譯出來(lái)的結(jié)果就是日語(yǔ)了

修改data數(shù)據(jù)

python中怎么實(shí)現(xiàn)一個(gè)谷歌翻譯功能

翻譯結(jié)果

python中怎么實(shí)現(xiàn)一個(gè)谷歌翻譯功能

看完上述內(nèi)容,你們對(duì)python中怎么實(shí)現(xiàn)一個(gè)谷歌翻譯功能有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI