python读音翻译-Python翻译器

如何直接爬取web端的有道词典,获取他的接口,我们就可以使用它的接口进行翻译。

下面展示了很多数据,这些数据就是在选择翻译时浏览器给服务器发送的数据:

290bbe81d54f

在这几个数据里面

i:需要进行翻译的字符串,

salt与sign 是在以前有道推出他的API服务时,对接口进行了一个反爬虫机制,剩下的几个数据是固定的写法

接下来直接上代码:

# urllib.request 请求模块

# urllib.parse url解析模块

import urllib.request

import urllib.parse

import json

def traslate(contents):

url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'

# i:是需要进行翻译的字符串

# salt:是加密用到的盐,只是我们破击发爬虫的机制

# sign:签名字符串,破解反爬虫机制的关键点

data = {'i': contents, 'from':'AUTO',

'to':'AUTO', 'smartresult':'dict',

'client':'fanyideskweb',

# 如今的发爬虫机制不在这里,所以也就不需要这两个 数据

# 'salt': '1500349255670',

# 'sign': "997742c66698b25b43a3a5030elc2ff2",

'doctype':'json',

'version':'2.1', 'keyfrom':'fanyi.web',

'action':'FY_BY_REALTIME', 'typoResult':'true'}

# data默认是None,此时以GET方式发送请求;当用户给出data参数的时候,改为POST方式发送请求。

# 使用urllib.parse.urlencode()将自定义的data转换成标准格式

# Python encode() 方法以 encoding 指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。

# UTF-8编码在线转工具可以帮助你把中文转换成UTF-8编码,同时也支持把UTF-8编码过的还原成中文。

# 解决python乱码问题

# 字符串在python内部中是采用unicode的编码方式,所以其他语言先decode转换成unicode编码,再encode转换成utf8编码。

data = urllib.parse.urlencode(data).encode('utf-8')

# urllib.request.urlopen 就是打开url网址的操作

response = urllib.request.urlopen(url, data)

# encode是编码 decode是解码 用utf-8解码

html = response.read().decode('utf-8')

# json.loads将已编码的 JSON 字符串解码为 Python 对象

# 把返回来的json字符串翻译成字典

target = json.loads(html)

print("翻译结果:%s" % (target['translateResult'][0][0]['tgt']))

if __name__ =="__main__":

print("输入 0 退出系统")

while True:

content =input("请输入需要翻译的内容:")

if content =="0":

break

traslate(content)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值