查单词时进了金山词霸网站,见有开放接口,且非常之简单,仅一个接口。便萌生了写一个命令行工具的想法,已经习惯了使用命令行。代码如下:(因排版的原因,对代码有些许改动,如需要直接下载文件为好。)
#! /usr/bin/python
# coding=GBK
#
# CLI client for iciba.com
#
# FileName: iciba.py
__author__="eidolon"
__date__ ="$2010-4-19 18:25:36$"
import getopt
import sys
import urllib
import xml.sax
from xml.sax.handler import ContentHandler
from getopt import GetoptError
ICIBA_URL = "http://dict-co.iciba.com/api/dictionary.php?"
SEPARATE_LINE = '--------------------------------------------------------'
class ICIBAResponseHandler(ContentHandler):
"""The ICIBA response xml handler.
"""
def __init__(self, pron):
self.enter_node = 0
self.current_node = ''
self.sentence_counter = 0
self.pron = pron
def startElement(self, name, attrs):
self.current_node = name
if name in ('key', 'ps', 'pos', 'acceptation', 'orig', 'trans', 'pron'):
self.enter_node = 1
else:
self.enter_node = 0
if name in ('orig'):
self.sentence_counter += 1
print str(self.sentence_counter) + '.',
if name in ('acceptation'):
print '',
if name in ('ps'):
print '(',
if name in ('sent'):
print SEPARATE_LINE
def endElement(self, name):
if name in ('acceptation', 'orig', 'trans'):
print ''
if name in ('ps'):
print ')'
print SEPARATE_LINE
def characters(self, ch):
if self.enter_node:
if self.current_node in ('key', 'ps', 'pos', 'acceptation', 'orig', 'trans'):
print ch,
elif self.current_node == 'pron' and self.pron:
print 'Pron. URL: ' + ch
def iciba(word, pron=False):
response = urllib.urlopen(ICIBA_URL + urllib.urlencode({'w': word}, 'true'))
xml.sax.parse(response, ICIBAResponseHandler(pron))
response.close()
def usage():
print """USAGE: iciba.py [OPTIONS] <word1>[ <word2> ...]
OPTIONS
-p --with-pron, print prononce
"""
if __name__ == "__main__":
with_pron = False
try:
opts, args = getopt.getopt(sys.argv[1:], 'p', ['with-pron'])
except GetoptError:
usage()
sys.exit(1)
if ('-p', '') in opts: with_pron = True
if ('--with-pron', '') in opts: with_pron = True
if not args:
usage()
sys.exit(1)
else:
index = 1
for tmp in args:
iciba(tmp, with_pron)
if index < len(args):
index += 1
print '\n\n'
sys.exit(0)
可以将 iciba.py 拷贝到 /usr/bin 目录,这样就可以在任意目录使用了。还可以将名字改成 iciba,使用时就可以少打几个字符了:D
第一次写 Python 代码,有此零乱,诸位见谅。
# iciba good
good ( ɡʊd )
--------------------------------------------------------
n. 好, 好事, 慷慨的行为, 好处, 利益
adj. 优良的, 上等的, 虔诚的, 愉快的, 慈善的, 好心的, 有益的
--------------------------------------------------------
1. Good.
好。
--------------------------------------------------------
2. Good girl.
好孩子。
--------------------------------------------------------
3. especially good
尤佳
--------------------------------------------------------
4. " Good Lord! "
" 老天爷! "
--------------------------------------------------------
5. Good quality
好质量
分享到:
相关推荐
【标题】中的“WM手机可用的金山词霸”指的是金山词霸在Windows Mobile(简称WM)操作系统上的版本,这是一款适用于智能手机的英语学习和翻译工具。金山词霸是一款深受用户喜爱的词典软件,它提供了丰富的词汇量和多...
【Mac版金山词霸】是专为苹果Mac操作系统设计的一款强大的英语学习软件,它免去了传统软件需要安装的步骤,用户可以直接运行程序,方便快捷。金山词霸在英语学习领域享有较高的声誉,其功能丰富,适合各类用户,无论...
【金山词霸自动添加自定义词典小工具】 在IT行业中,翻译软件是必不可少的工具,尤其是对于程序员和英语学习者来说。金山词霸作为一款知名的翻译应用,它提供了丰富的词汇和多样的功能,帮助用户高效地进行翻译工作...
《金山词霸(安卓手机离线词典包)——打造高效便捷的移动学习工具》 在信息化时代,语言学习工具的便捷性和效率至关重要。作为一款备受赞誉的移动应用,金山词霸为用户提供了一站式的词汇查询与学习服务。特别是在...
金山词霸2009牛津版(简体中文界面),是运行于Windows XP/Windows Vista/Windows 7之上的高端词典翻译软件,堪称“权威、全面、专业、海量”:包括6本牛津词典,150本专业辞书,收录单词、短语及释义355,000余条;...
《金山词霸2012离线词典包1》是一款专门为用户打造的英语学习工具,它无需网络连接,即可提供全面、精准的词汇查询服务。这款离线词典包集合了丰富的词汇资源,旨在帮助用户随时随地提升英语水平,尤其对于网络环境...
根据给定的信息,本文将深入探讨金山词霸2006屏幕取词功能的问题及其解决方案。金山词霸2006是一款由金山软件公司推出的词典翻译软件,它具有屏幕取词的功能,用户可以在计算机屏幕上选取任何位置的文字进行翻译。...
金山词霸是一款在中国非常流行的词典软件,它提供屏幕取词功能,使得用户可以在不中断当前工作的情况下快速查询单词或短语的意思。但是,当遇到金山词霸无法屏幕取词的故障时,用户可能会感到非常困扰。为了解决这个...
仿金山词霸界面,仿金山词霸界面,仿金山词霸界面
《Dao金山词霸数据库代码详解》 在编程领域,数据库设计和实现是至关重要的环节,尤其是在开发语言如C++中,高效、稳定的数据库接口对于软件性能有着决定性的影响。"Dao金山词霸"是一个专为C++开发者设计的数据库...
利用金山词霸2009破解程序Crack,可以激活金山词霸牛津版2009
金山词霸 2007 激活,修正杀毒软件与破解补丁的冲突。
金山词霸是一款知名的英语学习软件,它提供了API接口供开发者使用,以实现如在线翻译、例句查询等功能。本文将详细介绍如何利用金山词霸的API接口,结合JS(JavaScript)和XML(可扩展标记语言)技术来实现这些功能...
【金山词霸64位WIN7取词补丁】是一个专为64位Windows 7系统设计的软件补丁,其主要目的是解决在64位操作系统环境下金山词霸的屏幕取词功能无法正常工作的问题。在传统的32位系统中,金山词霸的屏幕取词功能通常能够...
金山词霸2016企业破解版.rar
《金山词霸2005闪屏补丁详解与应用》 金山词霸,作为国内知名的语言学习软件,自发布以来就受到了广大用户的喜爱。2005年版本的金山词霸更是以其丰富的词汇库、便捷的翻译功能,以及友好的用户界面赢得了口碑。然而...
金山词霸除了单词查词功能,大家用得比较多的是金山词霸的生词本功能。 不可否认,金山词霸是个非常棒的英文单词查询工具,但其它功能还是有很多功能不完善。如生词本功能。 每一个人学单词时,学的顺序和内容都...
《金山词霸2010牛津旗舰版安装及故障终极解决方案》 金山词霸作为国内知名的英语学习软件,其2010牛津旗舰版集合了强大的词典资源和丰富的学习功能,深受用户喜爱。然而,软件的安装与运行过程中可能会遇到各种问题...
《金山词霸2009 64位补丁详解》 金山词霸,作为一款深受用户喜爱的中文翻译和学习软件,自2009年版本以来,一直以其丰富的词汇量、准确的翻译功能以及便捷的操作体验赢得了广大用户的认可。然而,在Windows 7 64位...