这几天在b站看小甲鱼的python3教程,照着写了个有道翻译的程序
代码中字典data中的内容,用浏览器审查元素,先随便输一个要翻译的,找到跳出来的post的那个网址,看formdata就行了
返回的是json格式的,故需解码
代码如下
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 import urllib.request 4 import urllib.parse 5 import json 6 7 url = 'http://fanyi.youdao.co/translate?smartresult=dictsmartresult=rule' 8 data = {'i':'I love you', 9 'from':'AUTO', 10 'to':'AUTO', 11 'smartresult':'dict', 12 'client':'fanyideskweb', 13 'salt':'15818581248059', 14 'sign':'16181e788bc7f326f5a3665a11dc1764', 15 'ts':'1581858124805', 16 'bv':'bbb3ed55971873051bc2ff740579bb49', 17 'doctype':'json', 18 'version':'2.1', 19 'keyfrom':'fanyi.web', 20 'action':'FY_BY_REALTlME'} 21 22 i = input("What do you want to translate?: ") 23 data['i'] = i#传入要翻译的内容 24 data = urllib.parse.urlencode(data).encode('utf-8')#编码 25 response = urllib.request.urlopen(url,data)#post 26 html = response.read().decode('utf-8')#解码为utf-8 27 target = json.loads(html)#json解码 28 print(target['translateResult'][0][0]['tgt'])#打印翻译内容
作用:直接翻译输入的内容,不需要打开浏览器了
注意:这里变量url中的网站本来带了 _o 这个玩意儿,不删会报错,不晓得原因QAQ