python实战-有道翻译

#导入urllib包里的request请求模块
import
urllib.request
#导入urllib包里的解析模块
import urllib.parse import json content = input("请输入需要翻译的内容:") #url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
#去掉_o否则报错:{"errorCode":50} (也不知道咋回事求解...)
url
= 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule' data = {} data['i'] = content data['from'] = 'AUTO' data['to'] = 'AUTO' data['smartresult'] = 'dict' data['client'] = 'fanyideskweb' data['salt'] = '15771646680213' data['sign'] = 'c9ed047c1786795827ace34bc5d5b5c2' data['ts'] = '1577164668021' data['bv'] = '42160534cfa82a6884077598362bbc9d' data['doctype'] = 'json' data['version'] = '2.1' data['keyfrom'] = 'fanyi.web' data['action'] = 'FY_BY_CLICKBUTTION'
#转换格式 data = urllib.parse.urlencode(data).encode('utf-8') #返回对象--发送请求,带data就是post,不带data是get response = urllib.request.urlopen(url,data)
#解码
html
= response.read().decode('utf-8') # json.loads()用于将str类型的数据转成dict。 target = json.loads(html)
#参考 Json模块dumps、loads、dump、load函数介绍
print("翻译结果:%s"%(target['translateResult'][0][0]['tgt']))

urllib:包

urllib.request:请求模块

urlopen:函数

data:字典

encode('utf-8'):编码形式

decode:解码

 
posted @ 2019-12-24 15:39  故事的小黄花丶  阅读(228)  评论(0)    收藏  举报