用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">附源码地址:电子词典
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。