|
发表于 2014-8-27 21:35:40
|
显示全部楼层
抱歉,之前没有看代码。会报错主要是因为 openurl() 只接受英文的地址,出现中文需要使用 urllib.parse.quote() 过滤一下,代码已改:
- #/usr/bin/env python3
- import easygui as g
- import json
- import re
- import urllib.request
- import urllib.parse
- import sys
- def translate():
- url = 'http://fanyi.youdao.com/openapi.do'
- key = '695028818'
- keyfrom = 'nicomochina'
- words = g.enterbox('请输入要翻译的文字', title = '有道翻译')
- try:
- url1 = url + '?keyfrom=' + keyfrom + '&key='+key + '&type=data&doctype=json&version=1.1&q=' + urllib.parse.quote(words)
- except:
- return 1
-
- page = urllib.request.urlopen(url1)
- result = page.read().decode('utf-8', 'ignore')
- json_result = json.loads(result)
- json_result = json_result["translation"]
- g.msgbox(json_result)
- while 1:
- if translate():
- sys.exit(0)
复制代码 |
|