google翻譯python呼叫js實現

2022-05-30 01:06:12 字數 2971 閱讀 5139

**:

#

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...