一個(gè)可能你似曾相識(shí)的場(chǎng)景
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)柏鄉(xiāng),10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575閱讀內(nèi)容包含大量英文的 PPT、Word、Excel 或者記事本時(shí),由于英語不熟悉,為了流利地閱讀,需要打開瀏覽器進(jìn)入谷歌翻譯的主界面,然后把英文復(fù)制到谷歌翻譯的輸入框中,最后又把翻譯結(jié)果復(fù)制回 PPT、Word 和 Excel。
要是一個(gè)兩個(gè)單詞還好,要是發(fā)現(xiàn)有 100 個(gè)單詞不認(rèn)識(shí),就必須復(fù)制粘貼 200 次,如此機(jī)械性重復(fù)性的工作,應(yīng)該交給程序來做,這就是我設(shè)計(jì)下面這個(gè)自動(dòng)化翻譯工具的初衷。
提升辦公效率的法寶
如上圖所示,運(yùn)行程序并保持后臺(tái)運(yùn)行,在電腦上的任何一個(gè)軟件中選擇一段文本,并 Ctrl + C 復(fù)制到系統(tǒng)剪貼板中,程序就會(huì)自動(dòng)幫助我們完成翻譯,并將翻譯結(jié)果自動(dòng)復(fù)制到系統(tǒng)剪貼版中,只需 Ctrl + V,就完成了翻譯結(jié)果對(duì)原文的替換。
編碼實(shí)現(xiàn)
程序主要分為兩部分,第一部分為谷歌翻譯爬蟲,第二部分就是實(shí)現(xiàn)這個(gè)將翻譯結(jié)果自動(dòng)替換的業(yè)務(wù)邏輯。
谷歌翻譯爬蟲
通過瀏覽器 F12 開發(fā)者工具,很容易定位到翻譯請(qǐng)求的URL:http://translate.google.cn/translate_a/single?client=t&sl=en&tl=zh-CN&hl=zh-CN&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss &dt=t&ie=UTF-8&oe=UTF-8&clearbtn=1&otf=1&pc=1&srcrom=0&ssel=0&tsel=0&kc=2
這個(gè)請(qǐng)求接受兩個(gè)參數(shù),一個(gè)就是我們要翻譯的字符串 q,另一個(gè)是用于用戶認(rèn)證的 tk(token),其中 q 很容易構(gòu)造,tk 的構(gòu)造就需要花費(fèi)一番心力了,需要我們調(diào)試 js 代碼,這里參考 Github 上大神的輪子: https://github.com/cocoa520/Google_TK
谷歌翻譯爬蟲的主要代碼如下:
def translate(tk, content): if len(content) > 4891: print("too long to translate") return param = {'tk': tk, 'q': content} result = requests.get("""http://translate.google.cn/translate_a/single?client=t&sl=en &tl=zh-CN&hl=zh-CN&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss &dt=t&ie=UTF-8&oe=UTF-8&clearbtn=1&otf=1&pc=1&srcrom=0&ssel=0&tsel=0&kc=2""", params=param) data = result.json() print(data[0][0][0])