使用爬虫使用有道进行翻译
import urllib.request
import urllib.parse #导入转义传入response中的data类型
import json
content=input("请输入需要翻译的内容:")
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['doctype']= 'json'
data['version']= '2.1'
data['keyfrom']= 'fanyi.web'
data['action']= 'FY_BY_REALTlME'
data=urllib.parse.urlencode(data).encode('utf-8')#使用parse对data进行转义,在把data转为utf-8的形式
response=urllib.request.urlopen(url,data)
html=response.read().decode('utf-8')#意思就是把页面中读取的数据转义为utf-8的编码形式
'''
print(html)
>>>{"type":"ZH_CN2EN","errorCode":0,"elapsedTime":1,"translateResult":[[{"src":"我爱中国","tgt":"I love China"}]]}
这一串相当于一个字段,使用json.loads放在target中,然后使用键找到translateResult中的翻译结果
'''
target = json.loads(html)
print("翻译结果:%s" % (target['translateResult'][0][0]['tgt']))
结果:
请输入需要翻译的内容:我爱中国
翻译结果:I love China