importurllib.requestimporturllib.parseimportjsonimporttimewhileTrue:
content=input('请输入需要翻译的内容(输入"q!退出程序"):')if content=='q!':break;#_o要去掉,否则会出先error_code:50的报错
url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
'''第一种方法
head={}
head['User-Agent']='Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36''''data={}#开发者工具里有,i和doctype键不可少
data['i']=content
data['from']='AUTO'data['to']='AUTO'data['smartresult']='dict'data['client']='fanyideskweb'data['salt']='15695569180611'data['sign']='5b0565493d812bc5e713b895c12d615d'data['doctype']='json'data['version']='2.1'data['keyfrom']='fanyi.web'data['action']='FY_BY_REALTTIME'
#将字典类型的请求数据转化为url编码,并将编码类型转变为'utf-8'类型
data=urllib.parse.urlencode(data).encode('utf-8')'''第一种方法
req=urllib.request.Request(url,data,head)'''
#第二种方法设置User Agent
#创建Request对象
req=urllib.request.Request(url,data)
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36')#传入创建好的Request对象
response=urllib.request.urlopen(req)#读取响应信息并解码
html=response.read().decode('utf-8')#使用json将字符串转化成字典
target=json.loads(html)#结果在key='translateResult'的三层列表的key='tgt'中
print("翻译结果:%s" %(target['translateResult'][0][0]['tgt']))#5秒一次
time.sleep(5