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