多的不说,上代码!!!
#!/usr/bin/env python
#coding: utf-8
import urllib,re,json
def input_content(url): #接收一个url(翻译AIP)
while True:
content = raw_input('请输入翻译内容:') #用户输入的内容
if str.strip(content) == '': #如果用户输入的内容为空
continue #进入下一轮循环
elif content == 'q' or content == 'Q': #如果输入为Q或者q则退出程序
exit()
print '\033[31m正在翻译......\033[0m'
url = url+content #将url和翻译内容进行字符串拼接
return url #返回拼接完之后的url
def html(data): #接收翻译完之后的数据
for i in data:
RE = re.compile(r'translation.*?\]') #定义正则表达式的匹配规则
list_lost = re.findall(RE,i) #匹配翻译的内容
lost = list_lost[0].split(':')[1] #取出匹配到的内容
result = json.loads(lost) #将取出的内容反序列化
print result[0]+'\n' #打印翻译的结果
if __name__ == '__main__':
print '\033[33m输入Q或q退出翻译\033[0m\n' #高亮显示退出信息
while True:
try:
url = 'http://fanyi.youdao.com/openapi.do?keyfrom=huyuanpy&key=902574943&type=data&doctype=json&version=1.1&q='
#调用有道的API接口
address = input_content(url) #接收拼接之后的内容
data = urllib.urlopen(address) #将数据传给有道进行翻译,得到翻译之后的结果
html(data) #将得到的数据进行格式化处理
except:
print '\033[31m正在退出脚本......\033[0m\n'
exit()
本文转自 红尘世间 51CTO博客,原文链接:http://blog.51cto.com/hongchen99/1908047