python 呼叫谷歌翻譯

2021-08-31 18:39:06 字數 2486 閱讀 9363

# -*- coding: utf-8 -*-

import requests

import json

from fake_useragent import useragent

# from bs4 import beautifulsoup

import execjs #必須,需要先用pip 安裝,用來執行js指令碼

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)

def buildurl(text,tk):

baseurl=''

baseurl+='?client=t&'

baseurl+='s1=auto&'

baseurl+='t1=zh-cn&'

baseurl+='h1=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+='otf=1&'

baseurl+='pc=1&'

baseurl+='ssel=0&'

baseurl+='tsel=0&'

baseurl+='kc=2&'

baseurl+='tk='+str(tk)+'&'

baseurl+='q='+text

return baseurl

def translate(text):

js = py4js()

header=

url=buildurl(text,js.gettk(text))

res=''

try:

# headers =

# ip = "185.22.172.94:10010"

# proxies =

# r = requests.get(url, headers=headers, proxies=proxies)

r=requests.get(url)

result=json.loads(r.text)

if result[7]!=none:

# 如果我們文字輸錯,提示你是不是要找***的話,那麼重新把***正確的翻譯之後返回

try:

correcttext=result[7][0].replace('',' ').replace('','')

# print(correcttext)

correcturl=buildurl(correcttext,js.gettk(correcttext))

correctr=requests.get(correcturl)

newresult=json.loads(correctr.text)

res=newresult[0][0][0]

except exception as e:

# print(e)

res=result[0][0][0]

else:

res=result[0][0][0]

except exception as e:

res=''

print(url)

print("翻譯"+text+"失敗")

print("錯誤資訊:")

print(e)

finally:

return res

if __name__ == '__main__':

js=py4js()

text = "新北市十二年國民基本教育資訊網"

res=translate(text)

print(res)

免費呼叫谷歌翻譯

最近公司有需求,需要呼叫谷歌翻譯的介面。雖然我最後可以勉強實現了翻譯的功能,但還是把這個方法記錄下來供各位參考。首先宣告,我這種實現方法只能翻譯少量的內容,如果想要翻譯比較多的內容就只能把內容拆分開來翻譯。1.找到谷歌翻譯,通過f12檢視谷歌翻譯的時候呼叫的介面 解析開來就是 client t sl...

python使用谷歌翻譯

俺寫指令碼向來喜歡直接copy然後修改,看網上使用谷歌翻譯api還要自己去破解的,這不是直接造輪子麼。所以我選擇安裝googletrans 模組。直接 pip install googletrans 就完事了。實際操作發現不用 不行,我想應該是host問題,看了原始碼之後發現加引數service u...

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

因為伺服器上是python2的,要用python3的 需要在windows上安裝anaconda3.6版本的 安裝完之後,開啟prompt,即可使用命令列 這種命令列使用可以使用各種庫了 建立main.py import urllib.request from handlejs import py4...