(编辑:jimmy 日期: 2025/10/30 浏览:2)
用python实现了下控制台电子词典,数据来自有道,通过向有道发送http表单数据,然后将服务器返回的json数据解析得到翻译结果,代码比较简单,练练手!
# coding=utf-8
# Filename: trans.py
# Author: qianghaohao(CodeNutter)
# Email: codenutter@foxmail.com
# Program: 控制台电子词典
#
import os
import sys
import requests
import random
import json
# import chardet # 第三方模块检查字符串编码,用于调试
from requests.exceptions import ConnectionError, Timeout
# os.system('set PYTHONIOENCODING=UTF-8')
def GetHelp():
U'''
GNU trans 1.0
By qianghaohao(CodeNutter)
Usage: trans [OPTION] [statements]
--version 版本信息
--help 使用帮助
Example: trans campus
trans --version
trans --help
'''
pass
if (len(sys.argv) < 2):
print '''
trans: missing OPTION
Usage: trans [OPTION] [statements]
Try 'trans --help' for more details!
'''
sys.exit(1)
if sys.argv[1].startswith('--'):
option = sys.argv[1][2:]
if option == 'version':
print 'trans: Version 1.0'
elif option == 'help':
print GetHelp.__doc__
else:
print '''
Unknown option!
Try 'trans --help' for more options!
'''
sys.exit(2)
else:
to_be_trans = ' '.join(sys.argv[1:]).decode('GB2312').encode('utf-8')
# print chardet.detect(to_be_trans) # 第三方模块检查字符串编码,用于调试
# --------有道翻译表单数据--------
data={}
data['type']='AUTO'
data['i']=to_be_trans
data['doctype']='json'
data['xmlVersion']='1.8'
data['keyfrom']='fanyi.web'
data['ue']='UTF-8'
data['action']='FY_BY_CLICKBUTTON'
data['typoResult']='true'
youdao_url = 'http://fanyi.youdao.com/translate"text-align: center">
附源码地址:电子词典
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。