导入时间
导入哈希库
随机导入
如果__name__=="__main__":
S=requests.Session()
target_url="http://fanyi.youdao.com/translate_o?smartresult=dictsmartresult=rule"
#http://fanyi.youdao.com/translate_o?smartresult=dictsmartresult=rule
目标标题={
# "推荐人":"http://fanyi.youdao.com/",
# "Content-Type":"application/x-www-form-urlencoded;字符集=UTF-8",
# "来源":"http://fanyi.youdao.com",
# "主持人":"fanyi.youdao.com",
# "接受":"application/json, text/javascript, *",
# "接受":"application/json, text/javascript, */*; q=0.01",
# "连接":"保持活动",
# "接受语言":"zh-cn",
# "接受编码":"gzip, deflate",
# "User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0.3 Safari/604.5.6",
# "X-Requested-With":"XMLHttpRequest",
# "代理连接":"保持活动",
#==============================
# "接受":"application/json, text/javascript, */*; q=0.01",
# "接受编码":"gzip, deflate",
# "接受语言":"zh-CN,zh;q=0.9",
# "内容长度":"200",
# "连接":"保持活动",
# "Content-Type":"application/x-www-form-urlencoded;字符集=UTF-8",
# "主持人":"fanyi.youdao.com",
# "来源":"http://fanyi.youdao.com",
"推荐人":"http://fanyi.youdao.com/",
"User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, 如Gecko) Chrome/63.0.3239.108 Safari/537.36",
# "X-Requested-With":"XMLHttpRequest",
}
# salt=var r="" + ((new Date).getTime() + parseInt(10 * Math.random(), 10));
r=str(int(time.time()*1000)+random.randint(1,10))
t="接口"
#sign=n.md5("fanyideskweb" + t + r + "ebSeFb%=XZ%T[KZ)c(sy!");
src="fanyideskweb" + t + r + "ebSeFb%=XZ%T[KZ)c(sy!";
print("src=%s"%src)
坦克=hashlib.md5()
Tank.update(src.encode("utf8"))
# TypeError: Unicode 对象必须在散列之前进行编码
#sign=hashlib.md5().update(src.encoded("utf8")).hexdigest();#这不起作用
# AttributeError: "str" 对象没有属性"encoded"
# 符号=hashlib.md5().update(src.encode("utf8")).hexdigest();
符号=Tank.hexdigest();
打印(‘i=%s’%t)
print("盐=%s"%r)
print("符号=%s"%符号)
# 表单数据={}
# Form_Data["from"]="AUTO"
# Form_Data["to"]="AUTO"
# Form_Data["smartresult"]="dict"
# Form_Data["client"]="fanyideskweb"
# Form_Data["盐"]=r
# Form_Data["sign"]=符号
# 表单数据["i"]=t
# Form_Data["doctype"]="json"
# Form_Data["版本"]="2.1"
# Form_Data["keyfrom"]="fanyi.web"
# #Form_Data["ue"]="ue:UTF-8"
# Form_Data["action"]="FY_BY_CLICKBUTTON"
# Form_Data["typoResult"]="false"
表单数据={
"我":吨,
"来自":"自动",
"至":"自动",
"smartresult": "字典",
"client": "fanyideskweb",
"盐": r,
"标志": 标志,
"doctype": "json",
"版本": "2.1",
"keyfrom": "fanyi.web",
"行动": "FY_BY_CLICKBUTTION",
"typoResult": "假"
}
# 1519371677462=时间戳
target_headers["Cookie"]="___rl__test__cookies=1519371677462; fanyi-广告关闭=1; fanyi-ad-id=40789; JSESSIONID=aaaJ0epv-u81l5kbPSahw; OUTFOX_SEARCH_USER_ID=-1436919211@10.168.8.61;=GA1.2.75737907.1502714379; OUTFOX_SEARCH_USER_ID_NCOO=685806044.3219135"
# target_response=S.post(url=target_url, data=Form_Data, headers=target_headers)
target_response=S.post(url=target_url, data=Form_Data, headers=target_headers)
打印(目标响应.文本)
#html=target_response.text
翻译结果=json.loads(target_response.text)
print("翻译结果为:%s"%translateResult)
print ("翻译结果为: %s"%translateResult["translateResult"][0])
print ("翻译返回为: %s"%translateResult["translateResult"][0][0]["tgt"])
经过试验 必须带三个头,其它可以不带
Referer
用户代理
Cookie
否则
{"errorCode": 50}
调用结果
src=fanyideskwebinterface1519377881105ebSeFb%=XZ%T[KZ)c(sy!
我=接口
盐=1519377881105
符号=0f4a99fedc56b5b99d4521aea0a85ee9
{"translateResult":[[{"tgt":"interface","src":"interface"}]],"errorCode":0,"type":"zh-CHS2en","smartResult":{"entries" :["","端口rn","连接器rn","hickeyrn"],"类型":1}}
翻译返回为:{"translateResult": [[{"tgt": "interface", "src": "interface"}]], "errorCode": 0, "type": "zh-CHS2en", "smartResult " : {"entries": ["", "端口rn", "连接器rn", "hickeyrn"], "类型": 1}}
翻译返回为:[{"tgt": "interface", "src": "interface"}]
翻译返回为:interface
[1.0秒完成]
sign 和 salt 核心代码 js
t.asyRequest=function(e) {
var t=e.i,
i="" + ((new Date).getTime() + parseInt(10 * Math.random(), 10)),
o=n.md5("fanyideskweb" + t + i + "ebSeFb%=XZ%T[KZ)c(sy!");
r r.abort(), r=n.ajax({
输入: "发布",
contentType: "application/x-www-form-urlencoded;字符集=UTF-8",
url: "/bbk/translate_m.do",
数据: {
i: e.i,
client: "fanyideskweb",
盐:i,
标志: o,
tgt: e.tgt,
from: e.from,
to: e.to,
doctype: "json",
版本:"3.0",
缓存:0
},
dataType: "json",
success: 函数(t){
t 0==t.errorCode ? e.成功e.成功(t) : e.错误e.错误(t)
},
error: 函数(e){}
})
关于Python编程:实现与有道翻译API的接口调用,的介绍到此结束,希望对大家有所帮助。
【Python编程:实现与有道翻译API的接口调用】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
Python真的挺方便的!终于可以用代码轻松翻译文字了。
有12位网友表示赞同!
我一直在找工具批量翻译文本,Python调用有道翻译正好合适啊!
有18位网友表示赞同!
有道翻译 API 现在支持 Python 调用吗?太棒了!
有5位网友表示赞同!
不知道如何使用 Python 调用有道翻译,有没有教程可以分享一下?
有16位网友表示赞同!
用 Python 做翻译,效率肯定比手译高多了。想试试看怎么做。
有9位网友表示赞同!
这应该能帮助我快速处理一些多语言文本问题吧?
有20位网友表示赞同!
感觉Python的开发能力真是太强大了,啥都能干!
有15位网友表示赞同!
学习 Python 主要为了方便自己以后用代码调用各种工具,像这种翻译的工具就很实用啊。
有19位网友表示赞同!
有道翻译一直都蛮靠谱的,用 Python 调用更快捷直接。
有9位网友表示赞同!
以前总是依赖在线网站翻译,现在可以用代码解决这个问题,太棒了!
有6位网友表示赞同!
学习一下Python调用有道翻译的技术,说不定以后可以自己开发一些小功能!
有6位网友表示赞同!
不用再手动切换语言的烦恼了,直接调用接口翻译就好了。
有13位网友表示赞同!
看来 Python 的应用场景还是非常广泛的,比想像中还要多!
有8位网友表示赞同!
这种自动化处理文本的方法确实很受欢迎吧?
有14位网友表示赞同!
Python 调用有道翻译,这个功能太实用了吧!
有18位网友表示赞同!
希望能够学习到更多 Python 的技巧,这样就能解决更多问题了!
有10位网友表示赞同!
有哪个网站分享关于 Python 调用有道翻译的吗? 拜托了!
有11位网友表示赞同!
我很喜欢这种用代码来提高效率的方法,效率提升了很多!
有17位网友表示赞同!