**摘錄如下
僅供學習
import json
import random
import time
import hashlib
import requests
import re
import os
from urllib import parse
from urllib import request
deftrans
(content)
:# 等待使用者輸入需要翻譯的單詞
i = content
# 有道翻譯的url鏈結
url =
''# 構造有道的加密引數
client =
"fanyideskweb"
ts =
int(time.time()*
1000
) salt =
str(ts + random.randint(1,
10)) flowerstr =
"n%a-rkat5fb[gy?;n5@tj"
sign = hashlib.md5(
(client + i + salt + flowerstr)
.encode(
'utf-8'))
.hexdigest(
) bv =
'53539dde41bde18f4a71bb075fcf2e66'
# 建立form_data字典,儲存請求體
form_data =
# 需要翻譯的文字
form_data[
'i']
= i # 下面這些都先按照我們之前抓包獲取到的資料
form_data[
'from']=
'auto'
form_data[
'to']=
'auto'
form_data[
'smartresult']=
'dict'
form_data[
'client'
]= client
form_data[
'salt'
]= salt
form_data[
'sign'
]= sign
form_data[
'ts'
]= ts
form_data[
'bv'
]= bv
form_data[
'doctype']=
'json'
form_data[
'version']=
'2.1'
form_data[
'keyfrom']=
'fanyi.web'
form_data[
'action']=
'fy_by_realtime'
form_data[
'typoresult']=
'false'
# 對資料進行位元組流編碼處理
data = parse.urlencode(form_data)
.encode(
'utf-8'
)# 建立request物件
req = request.request(url=url, data=data, method=
'post'
)# 寫入header資訊
req.add_header(
'user-agent',)
req.add_header(
'cookie'
,'outfox_search_user_id=-352392290@116.136.20.84'
) req.add_header(
'referer'
,'')# 傳入建立好的request物件
response = request.urlopen(req, timeout=5)
# 讀取資訊並進行位元組流解碼
html = response.read(
).decode(
'utf-8'
(html)
# 把返回來的json字串解析成字典
translate_results = json.loads(html)
# 列印翻譯結果
translate_result = translate_results[
"translateresult"][
0][0
]['tgt'
("翻譯的結果是:%s"
% translate_result)
return translate_result
trans(
'hey, how are you'
)def
copy
(file
, file2)
:for root, dirs, files in os.walk(
file):
# 遍歷檔案
for f in files:
time.sleep(random.random())
file_path = os.path.join(root, f)
fi =
open
(file_path,
'r', encoding=
'utf-8'
) fi2 =
open
(os.path.join(file2, f)
,'w'
, encoding=
'utf-8'
)while
true
: line = fi.readline(
)if line.startswith(
"c_"):
line = re.sub(r'([\w\s]+)\|([^|]+)([.\s]+)'
,lambda m: m.group(1)
+'|'
+ trans(m.group(2)
)+ m.group(3)
, line)
fi2.write(line)
ifnot line:
fi.close(
) fi2.close(
(f)break
java呼叫有道翻譯介面
因為專案中需要有個中英互譯的小外掛程式,我們在網上搜尋了一下免費的翻譯介面。最終敲定,使用有道的翻譯介面。但是今天想再次測試一下的時候卻被告知,有道將不再提供免費的介面註冊,以前註冊過的介面也將在2017年12月31日停止使用。按照有道新的api,在有道智雲上註冊應用,新增自然翻譯例項,繫結應用,測...
python 有道翻譯 api介面
最近有乙個呼叫 有道詞典 api介面 的需求,就有了如下的 通過在 執行以下操作獲取 1.註冊賬號 2.建立應用 3.建立例項 4.應用繫結物件 secretkey ap2iyfaaadurymr4q7l8u73zgoc9vosz 中譯英 fromlang zh chs 譯文主體 tolang en...
有道翻譯介面問題
在呼叫有道翻譯api介面時,出現了如下錯誤 您要翻譯的內容是 english traceback most recent call last file d python.workspace hello world web spider translate test.py line 34,in tra...