肆虐中国的2019肺炎病毒到处都是只能呆在家中,无聊浏览网页,发现python挺流行的,看了几页,写个处女python程序:“有道翻译”。
这个程序挺有意思的,不过还有很多问题,很多疑问,例如,我在有道翻译网页查到的 url 是这个:
“Request URL:http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule”,而这个用不了输入后得到的结果{"errorCode":50}。查了下网上及其一些教程,用的都是 Request URL:http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null,很多疑改成这个url就可以了,奇怪这个url在那里找到的。
贴下源码:
import urllib.request
import urllib.parse
import json
import time
while True:
content = input('请输入你想要翻译的内容:')
if content == 'a!':
break
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null"
# head = {}
# head['User-Agent']="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
data = {}
data['i'] = content
data['from'] ='AUTO'
data['to'] = 'AUTO'
data['smartresult'] = 'dict'
data['client'] = 'fanyideskweb'
data['salt'] ='15802818195729'
data['sign'] ='298c756aec68d59bbb572e4986bd2a40'
data['ts'] ='1580281819572'
data['bv'] ='530358e1f56d925c582f7d2d49f07756'
data['doctype'] = 'json'
data['version'] = '2.1'
data['keyfrom'] = 'fanyi.web'
data['action'] = 'FY_BY_REALTlME'
data = urllib.parse.urlencode(data).encode('UTF-8')
# req = urllib.request.Request(url,data,head)
req = urllib.request.Request(url,data)
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36')
response = urllib.request.urlopen(req)
html = response.read().decode('utf-8')
#print(html)
target = json.loads(html)
#print(type(target))
#逐步拆解,获取结果
print('你想翻译的内容是:',(target['translateResult'][0][0]['src']))
print('翻译结果是:',(target['translateResult'][0][0]['tgt']))
time.sleep(5)
##req = urllib.request.Request('http://placekitten.com//g/500/600')
##response = urllib.request.urlopen(req)
##cat_image = response.read()
##
##with open('cat_500_600.jpg','wb')as f:
## f.write(cat_image)