因為伺服器上是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...