Python控制台英汉-汉英电子词典

By qianghaohao(CodeNutter)

用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.0By  qianghaohao(CodeNutter)Usage: trans [OPTION]  [statements]--version    版本信息--help       使用帮助Example: trans campustrans  --versiontrans  --help'''passif (len(sys.argv) < 2):print '''trans: missing OPTIONUsage: 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_transdata['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?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=dict2.index'#  ---------- http报头:用户代理 ----------------USER_AGENTS = ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:11.0) Gecko/20100101 Firefox/11.0','Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100 101 Firefox/22.0','Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0',('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) ''Chrome/19.0.1084.46 Safari/536.5'),('Mozilla/5.0 (Windows; Windows NT 6.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46''Safari/536.5'))#  --------- 模拟手工请求:随机切换用户代理 ---------headers = {'User-Agent':random.choice(USER_AGENTS)}try:r = requests.post(youdao_url, timeout=10, headers=headers, data=data)except ConnectionError:print 'Network connection failed!'sys.exit(1)except Timeout:print 'request timeout!'sys.exit(1)result = r.json()print result['translateResult'][0][0]['tgt'].encode(sys.stdout.encoding)

使用示例(如果感兴趣的朋友可以用pyinstaller工具将py源码转换成exe格式,直接执行,比较方便,在此用解释器执行):

附源码地址:
http://download.csdn.net/detail/qianghaohao/9597916

Python控制台英汉-汉英电子词典(代码分享)相关推荐

  1. Python控制台英汉-汉英电子词典

    2019独角兽企业重金招聘Python工程师标准>>> Python控制台英汉-汉英电子词典 By qianghaohao(CodeNutter) 用python实现了下控制台电子词 ...

  2. 计算机专业词典_好书优选:实用英汉汉英计算机词典

    购买入口: 基本信息 书名:实用英汉汉英计算机词典 价格:98.00元 作者:王能琴,谢建勋 主编 出版社:北京航空航天大学出版社 出版日期:2009-03-01 ISBN:9787811243116 ...

  3. c语言英汉互译编程,用C语言编辑简单英汉互译词典.doc

    疥详刁呆害獭荆羞哈沮蒜赫夜内淮牺彻蔼纤凤虹锥硝够唬古进淋牡振拘铅笺元扳与醒靳蹋销钡胶致石衙钦目妈而炸赚鹤邓穷窍瘴笼旬房殆查恨蠢煌沧祥斥瞩骤敌晤屏莲匆目穷妖暗屹码冬息摊挎傍啡坟范给羹哥皱做斋绥甭焕睫苍苫 ...

  4. 英汉计算机技术小词典,英汉计算机技术小词典

    英汉计算机技术小词典 出版时间:2001年02月 定 价:32.00 I S B N :9787313026071 所属分类: 计算机•网络 &nbsp计算机•网络  >  计算机理论  ...

  5. 小巧适用的AJAX英汉汉英字典

    俺们程序员在工作中常常会查查字典,找一下英文单词怎么拼的或者看看单词的意思.这个时候我们必然要使用一些字典软件,如金山词霸之类,或者去一些查单词的网站,到达查询页面后,输入单词,等待刷新之后才能获得查 ...

  6. 小学生英汉互译c语言编程,用C语言编辑的简单的英汉互译词典

    用C语言编辑的简单的英汉互译词典,部分带注释 源程序主要代码(关键语句加注释) #include "stdio.h" #include "string.h" v ...

  7. 爬虫的一个小案例:python实现英汉互译

    什么是网络爬虫? 网络爬虫又称网络蜘蛛,是指按照某种规则在网络上爬取所需内容的脚本程序.众所周知,每个网页通常包含其他网页的入口,网络爬虫则通过一个网址依次进入其他网址获取所需内容. 一个小案例:py ...

  8. 【数据结构】英汉翻译小词典

    一.实验题目及要求 题目:英汉翻译小词典 需求: 1.根据所提供的词典http://github.com/1eez/103976建立英文词典: 2.任意输入单词,判断该单词是否在词典中,输出查找结果, ...

  9. python代码大全表解释-Python中顺序表的实现简单代码分享

    顺序表python版的实现(部分功能未实现) 结果展示: 代码示例: #!/usr/bin/env python # -*- coding:utf-8 -*- class SeqList(object ...

最新文章

  1. 算法工程师的必备学习资料,《AI算法工程师手册》正式开源了
  2. Hibernate检索1
  3. 文件、目录——Linux基本命令(5)
  4. 信息学奥赛一本通(1206:放苹果)
  5. localdatetime 获取天_LocalDateTime的一些用法
  6. concurre分段锁 put 流程图_一道有趣的笔试题(三)、锁存器Latch
  7. 数据结构--(AVL)平衡二叉树
  8. TFS2010用户解锁
  9. go-micro服务报错:wsasend: An existing connection was forcibly closed by the remote host
  10. 怎样做文献综述:六步走向成功-读书笔记
  11. 入门数据科学必读书单推荐
  12. 学做网站论坛怎么样?分享新手学习建网站5天感受
  13. 十进制进制法_关于二进制、十进制、八进制、十六进制数据转换计算方法详细总结...
  14. 头插法逆置单向链表c语言,单链表的逆置(头插法和就地逆置)
  15. 关于java的1234
  16. shell脚本——sql连接及其查询结果重定向到txt
  17. 【前端】【JavaScript】通过成绩判断等级
  18. 常用遥感卫星数据汇总
  19. Mysql多字段关键词查询,多字段多关键词查询,concat_ws函数
  20. Error using symconvertChar (sym使用报错)

热门文章

  1. 微信小程序使用wxa-plugin-canvas分享海报和朋友圈
  2. Ubuntu16.04、22.04下xfce中使用expect在su时免密码输入切换到root账户
  3. 软件学报--一个很好的论文参考网站
  4. windows echo命令输出制表符到文件中
  5. pythonwx功能_wx python 基本控件
  6. html语言link,HTML中link是什么意思?
  7. 《Cesium 进阶知识点》 - 加载天地图三维地名服务(无Cesium 版本依赖)
  8. 干式电抗器设备GIM模型要求
  9. Linux桌面差,六种 Linux 桌面的最佳特性和最差特性
  10. python数据分析并生成报告界面_如何用Python绘图和制作数据分析报告?