python实现谷歌翻译
背景
這個(gè)功能是在工作時(shí),上級(jí)有個(gè)需求是讓我將json文件中指定字段的英文翻譯成中文,并且指定要使用谷歌翻譯,理由是翻譯的結(jié)果可能會(huì)比較準(zhǔn)確。
過(guò)程
因?yàn)橹皩戇^(guò)用python實(shí)現(xiàn)有道翻譯,是在ajax中找到它的翻譯接口的,所以我以為谷歌應(yīng)該也差不多,于是我就打開 “開發(fā)者工具”,拼命地尋找它的翻譯接口,果然讓我發(fā)現(xiàn)了,哈哈哈哈~~
然而我發(fā)現(xiàn)我高興地太早了,這TMD是個(gè)啥東西,為啥不是json啊,崩潰!!!
算了,你牛,我放棄~
于是我就面向度娘,尋求幫助,搜索關(guān)鍵詞 “python實(shí)現(xiàn)谷歌翻譯”,哦吼~ 結(jié)果還挺多
哈哈又草率了(欲哭無(wú)淚),隨緣選中一個(gè)后,大致看了一下(好復(fù)雜555~),它們的思路大致是用PyExecJS庫(kù)模擬js代碼獲取結(jié)果,我才不管這些,能用就行,然后一頓ctrl c/ctrl v 代碼到本地后,修改一些數(shù)據(jù),開始運(yùn)行。
接下來(lái)就一頓報(bào)錯(cuò),我就一頓臥槽。好的,沒安裝庫(kù)…安裝不成功,和一些莫名的其他原因。這能忍?于是我決定自己動(dòng)手,豐衣足食,大不了就爬網(wǎng)頁(yè)嘛,然后打開網(wǎng)頁(yè)源代碼,MD又草率了,并沒有需要的內(nèi)容,忘記結(jié)果是用js生成的,唉,怎么辦?只好從最開始的那個(gè)ajax的接口下手了
內(nèi)容里有很多重復(fù)的內(nèi)容并且感覺毫無(wú)規(guī)則…我硬著頭皮嘗試用正則把內(nèi)容提取出來(lái),代碼我就不貼,因?yàn)椤?/p>
我花了好長(zhǎng)好長(zhǎng)時(shí)間,瘋狂改正則表達(dá)式…啊哈!的確可以得出結(jié)果,超開心的~ 但是后面翻譯的過(guò)程發(fā)現(xiàn),這只適合翻譯一句話,多一點(diǎn)都不行,它會(huì)漏掉…頭又炸了!!!
我又放棄了,已經(jīng)束手無(wú)策了…第二天,看到一篇文章,里面寫的是 “ 字符串轉(zhuǎn)為列表”的知識(shí)點(diǎn),然后我靈光一現(xiàn),想到了用正則和列表相結(jié)合,將內(nèi)容提取出來(lái),于是我看到了奧特曼(光)哈哈哈,這次真的可以!!!!不說(shuō)了上代碼
代碼
效果
效果如何?
如何翻譯成其他語(yǔ)言?
當(dāng)然,這僅僅是實(shí)現(xiàn)了任何語(yǔ)言轉(zhuǎn)為中文,要轉(zhuǎn)為別的語(yǔ)言,你可以通過(guò)執(zhí)行js,獲取所有語(yǔ)言對(duì)應(yīng)的英文字母,以字典的形式存儲(chǔ),最后保存為json文件
然后執(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ù)
翻譯結(jié)果
好了,今天的分享就到這了,2021年第一篇文章,給自己點(diǎn)個(gè)贊,奧里給~
總結(jié)
以上是生活随笔為你收集整理的python实现谷歌翻译的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电子计算机职专东校区在哪,自贡计算机电子
- 下一篇: nodejs 图片处理模块 rotate