python代码翻译器,python翻译软件
如何直接抓取web端的有道词典,获取它的接口,这样我们就可以用它的接口进行翻译了。
下面展示了很多数据,是浏览器在选择翻译时发送给服务器的数据:
在这些数据中,
I:要翻译的字符串,
Salt和sign在过去推出他们的API服务时,在接口上实现了反爬虫机制,剩下的数据都是以固定的方式写入的。
接下来,直接进入代码:
# urllib.request请求模块
# urllib.parse url解析模块
导入urllib.request
导入urllib.parse
导入json
定义翻译(内容):
URL= http://fanyi . Youdao . com/translate?smart result=dict smart result=rule
# i:是需要翻译的字符串。
# salt:它是用于加密的盐,但它只是我们用来破解爬虫的机制。
# sign:签名串,破解反爬虫机制的关键点。
data={i :内容, from:AUTO ,
自动,智能结果:字典,
客户端: fanyideskweb ,
#今天的爬虫机制不在这里,所以不需要这两个数据。
# 盐: 1500349255670 ,
# sign : 997742 c 66698 b 25 b43 a 3a 5030 El C2 ff 2 ,
doctype:json ,
版本: 2.1 , keyfrom:fanyi.web ,
操作: FY_BY_REALTIME , typoResult:true}
# data默认为None,这种情况下请求由GET发送;当用户给出数据参数时,它以POST模式发送请求。
#使用urllib.parse.urlencode()将自定义数据转换为标准格式。
# Python encode()方法以encoding指定的编码格式对字符串进行编码。Errors参数可以指定不同的错误处理方案。
# UTF-8编码在线翻译工具可以帮助您将中文转换为UTF-8编码,它还支持将UTF-8编码恢复为中文。
#解决python乱码问题
# String在python中是用unicode编码的,所以其他语言都是先用decode编码,再用utf8编码。
data=urllib . parse . urlencode(data)。编码(“utf-8”)
# urllib.request.urlopen是打开url的操作。
response=URL lib . request . urlopen(URL,data)
# encode是编码,decode是解码,utf-8用于解码
html=response.read()。解码(“utf-8”)
# json.loads将编码的json字符串解码为Python对象
#将返回的json字符串翻译成字典
target=json.loads(html)
Print(翻译结果:% s %(target[ translate result ][0][ TGT ]))
if __name__==__main__ :
打印(“输入0退出系统”)
虽然正确:
Content=input(请输入要翻译的内容:)
if content==0 :
破裂
翻译(内容)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。