**:
#encoding:utf-8
import
urllib
import
urllib.request
import
urllib.parse
import
requests
import
execjs
class
google():
def__init__
(self):
self.lan_dict =
self.headers =
self.url = '
'self.session =requests.session()
self.session.keep_alive =false
defgettk(self, text):
return self.get_ctx().call("tl"
, text)
defget_ctx(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
} """)
return
ctx
defbuildurl(self, text, tk, sl, tl):
baseurl = '
'baseurl += ''#
baseurl += '
sl=auto&'#
source language 源語言,這邊auto表示使用谷歌的語言自動檢測功能
baseurl += '
tl=' + str(tl) + '&'
#target language 目標語言
baseurl += '
hl=zh-cn&
'baseurl += '
dt=at&
'baseurl += '
dt=bd&
'baseurl += '
dt=ex&
'baseurl += '
dt=ld&
'baseurl += '
dt=md&
'baseurl += '
dt=qca&
'baseurl += '
dt=rw&
'baseurl += '
dt=rm&
'baseurl += '
dt=ss&
'baseurl += '
dt=t&
'baseurl += '
ie=utf-8&
'baseurl += '
oe=utf-8&
'baseurl += '
clearbtn=1&
'baseurl += '
otf=1&
'baseurl += '
pc=1&
'baseurl += '
srcrom=0&
'baseurl += '
ssel=0&
'baseurl += '
tsel=0&
'baseurl += '
kc=2&
'baseurl += '
tk=' + str(tk) + '&'
#tk根據要檢測的單詞變化的
content = urllib.parse.quote(text) #
要進行翻譯的單詞需要進行url編碼
baseurl += '
q=' +content
return
baseurl
defgethtml(self, session, url, headers):
try:
html = session.get(url, headers=headers)
return
html.json()
except
exception as e:
return
none
deftranslate(self, from_lan, to_lan, text):
tk =self.gettk(text)
url =self.buildurl(text, tk, from_lan, to_lan)
result =self.gethtml(self.session, url, self.headers)
if result !=none:
ans =
s = ''
for i in
result[0]:
if i[0] !=none:
s +=i[0]
for i in s.split('\n'
):
return
ans
else
: self.logger.info(
'谷歌翻譯失敗 ')
return
none
if__name__ == '
__main__':
gg =google()
text = '
你好, 新的我
'print(gg.translate('
zh-cn
', '
en', text))
**:
google 翻譯python版本
進來,想搞個python 版本的google翻譯。看了下網頁,是乙個get請求,不禁大喜,深入研究後,發現這裡攜帶的引數其中包含乙個 tk 應該為token的縮寫吧,其用到搜尋的字元通過js函式的計算的到。可是未曾入坑js,看上去頗為燒腦。而我又是乙個求甚解的人,想要等了解js後再去突破。還有什麼其...
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...
Google翻譯介面 PHP API
google翻譯php介面 官成文 2009 03 28 注意 如果翻譯文字為utf 8編碼,則要刪去mb convert encoding函式 class google api translator public url public text 翻譯文字 public out 翻譯輸出 funct...