使用python3呼叫谷歌翻譯成中文

2021-08-11 01:43:24 字數 1983 閱讀 5072

因為伺服器上是python2的,要用python3的

需要在windows上安裝anaconda3.6版本的

安裝完之後,開啟prompt,即可使用命令列

這種命令列使用可以使用各種庫了

建立main.py

import urllib.request    

from handlejs import py4js

def open_url(url):

headers =

req = urllib.request.request(url = url,headers=headers)

response = urllib.request.urlopen(req)

data = response.read().decode('utf-8')

return data

def translate(content,tk):

if len(content) > 4891:

print("翻譯的長度超過限制!!!")

return

content = urllib.parse.quote(content)

url = ""+ "&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&tk=%s&q=%s"%(tk,content)

#返回值是乙個多層巢狀列表的字串形式,解析起來還相當費勁,寫了幾個正則,發現也很不理想,

#後來感覺,使用正則簡直就是把簡單的事情複雜化,這裡直接切片就ok了

result = open_url(url)

end = result.find("\",")

if end > 4:

print(result[4:end])

def main():

js = py4js()

while 1:

content = input("輸入待翻譯內容:")

if content == 'q!':

break

tk = js.gettk(content)

translate(content,tk)

if __name__ == "__main__":

main()

建立handlejs.py

import execjs  

class py4js():

def __init__(self):

self.ctx = execjs.compile("""

function tl(a)

a = b;

for (f = 0; f < e.length; f++) a += e[f],

a = rl(a, $b);

a = rl(a, zb);

a ^= b1 || 0;

0 > a && (a = (a & 2147483647) + 2147483648);

a %= 1e6;

return a.tostring() + jd + (a ^ b)

}; function rl(a, b)

return a

} """)

def gettk(self,text):

return self.ctx.call("tl",text)

在prompt中執行

python main.py 即可將英文翻譯成中文

[1] python爬蟲之谷歌翻譯實現

python3實現谷歌翻譯

quad 中文轉英文的翻譯 from googletrans import translator def trans text translator translator return translator.translate text,dest en text if name main res t...

Python3呼叫Google翻譯

import urllib.request from handlejs import py4js def open url url headers req urllib.request.request url url,headers headers response urllib.request.u...

python 呼叫谷歌翻譯

coding utf 8 import requests import json from fake useragent import useragent from bs4 import beautifulsoup import execjs 必須,需要先用pip 安裝,用來執行js指令碼 clas...