有点问题想请教
把data放回去就可以用了,但觉得这样感觉不美观,想改改,鱼油们有无好办法?ps:前几天刚刚学了爬虫,想了好像可以和easygui结合一下,问题我都标注了
报错信息:'bytes' object does not support item assignment/“bytes”对象不支持项分配
import easygui,urllib.request,sys,json
easygui.msgbox('使用马强翻译1.0(结果来源于有道翻译)')
url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
data={} #把这个放到外面的话,程序只能用一次,第二次就会报错
while True:
#想保留这两行
dat=easygui.enterbox('请输入:',title='马强翻译1.0')
data['i']= dat
#想把这些放到while的外面
data['from']='AUTO'
data['to']='AUTO'
data['smartresult']='dict'
data['client']='fanyideskweb'
data['salt']='16038541804405'
data['sign']='a0c52b875aa481825e8411c6d7b0f6b0'
data['lts']='1603854180440'
data['bv']='8269b35cc1594b7635631cdd3a301112'
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.urlopen(url,data)
html=req.read().decode('utf-8')
target=json.loads(html)
msg1='翻译的结果是:',target['translateResult']['tgt']
easygui.msgbox(msg1,title='翻译结果',ok_button='学废了!')
if easygui.ccbox('是否要继续?'):
pass
else:
sys.exit(0)
import easygui,urllib.request,sys,json
easygui.msgbox('使用马强翻译1.0(结果来源于有道翻译)')
url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
data={'from': 'AUTO', 'to': 'AUTO', 'smartresult': 'dict', 'client': 'fanyideskweb', 'salt': '16038541804405', 'sign': 'a0c52b875aa481825e8411c6d7b0f6b0', 'lts': '1603854180440', 'bv': '8269b35cc1594b7635631cdd3a301112', 'doctype': 'json', 'version': '2.1', 'keyfrom': 'fanyi.web', 'action': 'FY_BY_REALTlME'} #把这个放到外面的话,程序只能用一次,第二次就会报错
while True:
#想保留这两行
dat=easygui.enterbox('请输入:',title='马强翻译1.0')
data['i']= dat
data=urllib.parse.urlencode(data).encode('utf-8') #编码
req=urllib.request.urlopen(url,data)
html=req.read().decode('utf-8')
target=json.loads(html)
msg1='翻译的结果是:',target['translateResult']['tgt']
easygui.msgbox(msg1,title='翻译结果',ok_button='学废了!')
if easygui.ccbox('是否要继续?'):
data = {'from': 'AUTO', 'to': 'AUTO', 'smartresult': 'dict', 'client': 'fanyideskweb', 'salt': '16038541804405', 'sign': 'a0c52b875aa481825e8411c6d7b0f6b0', 'lts': '1603854180440', 'bv': '8269b35cc1594b7635631cdd3a301112', 'doctype': 'json', 'version': '2.1', 'keyfrom': 'fanyi.web', 'action': 'FY_BY_REALTlME'}
pass
else:
sys.exit(0)
这样可行? xiangjianshinan 发表于 2020-10-31 06:00
这样可行?
刚发完问题就想到了,可以用一个函数来搞{:10_279:},而且你那样也不太和我的要求{:10_277:}
import easygui,urllib.request,sys,json
easygui.msgbox('使用马强翻译1.0(结果来源于有道翻译)')
def mq():
data={}
dat=easygui.enterbox('请输入:',title='马强翻译1.0')
data['i']= dat
data['from']='AUTO'
data['to']='AUTO'
data['smartresult']='dict'
data['client']='fanyideskweb'
data['salt']='16038541804405'
data['sign']='a0c52b875aa481825e8411c6d7b0f6b0'
data['lts']='1603854180440'
data['bv']='8269b35cc1594b7635631cdd3a301112'
data['doctype']='json'
data['version']='2.1'
data['keyfrom']='fanyi.web'
data['action']='FY_BY_REALTlME'
return data
url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
while True:
data=mq()
data=urllib.parse.urlencode(data).encode('utf-8') #编码
req=urllib.request.urlopen(url,data)
html=req.read().decode('utf-8')
target=json.loads(html)
msg1='翻译的结果是:',target['translateResult']['tgt']
easygui.msgbox(msg1,title='翻译结果',ok_button='学废了!')
if easygui.ccbox('是否要继续?'):
pass
else:
sys.exit(0)
大马强 发表于 2020-10-31 09:14
刚发完问题就想到了,可以用一个函数来搞,而且你那样也不太和我的要求
对,用短小精悍的函数来处理,也真是不错的主意。
页:
[1]