金山词霸命令行客户端

查单词时进了金山词霸网站,见有开放接口,且非常之简单,仅一个接口。便萌生了写一个命令行工具的想法,已经习惯了使用命令行。代码如下:(因排版的原因,对代码有些许改动,如需要直接下载文件为好。)

#! /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
好质量
Python命令行聚合翻译工具实战:支持谷歌、必应、有道、百度、词霸、360多引擎 Python-Translator是一款基于Python开发的命令行聚合翻译工具,集成了谷歌、必应、有道、百度、词霸、360六大主流翻译引擎,支持多语言互译,具备高可用性与扩展性。该工具通过统一的命令行接口,为开发者和终端用户提供高效、灵活的文本翻译能力,适用于文档处理、自动化脚本、国际化支持等多种场景。其核心功能包括自动语言检测、指定源语言与目标语言翻译、多引擎切换、离线安装与快速调用等。项目采用模块化设计,依赖清晰,兼容Python 3.6及以上版本,通过pip一键安装即可使用。 阅读详情

相关推荐

App inventor2通过蓝牙控制Arduino Uno LED开关

App inventer2控制Arduino Uno LED开关 如果学会这个小程序,大部分的手机通过蓝牙控制Arduino的功能都可以实现,这个小示例是通过蓝牙模块向Arduino发送"0"和"1",而其它功能要发送其它不同的字符串内容给Arduino. 所需硬件: Arduino Uno JDY-16 蓝牙模块(我的是蓝牙4.2版本) 草帽LED(可选) 手机(我用的是安卓,苹果手机应该也可以,最近其应用商店也有App inventor(AI)伴侣) 软件: Aduino IDE或者Platfom

Firmin123456的博客 5499

JS逆向实战:解析金山词霸翻译接口签名算法与Python调用

JS逆向是爬虫与前端安全领域的关键技术,其核心原理在于通过分析网页JavaScript代码,理解并复现其数据加密与请求构造逻辑,从而绕过前端限制直接与服务器通信。这项技术的价值在于能够实现对非公开API的程序化调用,广泛应用于数据采集、自动化测试和接口调试等工程实践场景。以网络请求参数加密为例,常见的签名算法如MD5、AES等常被用于验证请求合法性,防止未授权访问。本文以金山词霸翻译接口为具体案例,深入剖析其sign签名参数的生成机制,详细演示了如何从浏览器开发者工具中定位加密函数、提取并验证JS代码逻辑,

weixin_30631587的博客 359

抖音中动态生成msToken的方法

抖音中动态生成msToken的方法

sh_moranliunian的博客 2484

金山词霸字典转换工具

有个牛人制作的 KSDcrack.exe --金山词霸的DIC词典导出程序v0.11(命令行版)大家可以试试其他版本。下载地址:http://free5.ys168.com/?dwing作者主页:http://www.wex.cn/dwing/ 我用词霸2005的词典解开成功。但是得到的是几个奇怪文件:*.da0*.da1*.da2*.da3*.xml其中*为自己指定的名称。该软件没有说明文件。不...

weixin_33686714的博客 414

【系统架构设计师】模拟预测试卷十 - 案例分析(完整结构)

本文为系统架构设计师考试模拟试题及参考答案,包含五个专题:质量属性(必答)、信息系统架构设计、嵌入式系统架构设计、云原生架构设计、面向服务架构设计(SOA)。试题一聚焦非功能需求与质量属性映射,如性能、可修改性、一致性等;其余选答题分别涉及分层架构设计(如嵌入式实时控制)、云原生会话管理、服务化治理(如契约设计、熔断策略)等核心架构场景,涵盖战术应用、权衡分析及解决方案设计。参考答案提供关键要点,例如离线借还的冲突解决、服务编排与共享服务的区分、嵌入式硬实时保护的必要性等,适用于备考实战演练。

数据知道的博客 251

把 SAP 输出稳稳落到 PDF:从 SPAD 前端打印到 ABAP 程序级转换的一套方法

摘要:本文介绍了三种在SAP系统中将报表输出转为PDF文件的方法。路线A通过SPAD配置前端输出设备,结合Windows打印机设置实现用户交互式PDF保存;路线B在SP01事务码中将已有Spool请求另存为PDF,适用于补救导出;路线C通过ABAP程序自动转换Spool为PDF,适合批量处理。文章详细说明了配置步骤,并针对常见问题(如乱码、文件格式错误等)提供了排查思路。三种方案分别适用于不同场景,用户可根据实际需求选择最合适的PDF导出方式。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 221

python使用金山词霸的翻译功能

思路: 1.抓包确定 url 2.确定请求参数 抓包分析 url 地址 请求方法 post 请求所需参数:data use-agent/headers/ 3.返回数据位置——response ——json——content.out 4.模拟浏览器获取数据 ——run()调用其它方法 难点 :动态 sign 实现代码: import requests import json import hashlib class King(object): # 初始化一些参数 def __init_

meisaigao的博客 1189

[Dify] HTTP 请求节点总是调不通?先把请求头、参数、变量和返回 JSON 拆开查

这篇文章围绕 Dify HTTP 请求节点调不通、接口能通但流程不稳定、返回 JSON 后续节点读不到等问题展开,从 Method、URL、Header、Body、变量映射和返回字段提取几个角度梳理排查顺序。适合正在把 Dify Workflow 接入企业微信、CRM、工单系统或内部接口的读者阅读,帮助你把接口调用从一次性跑通推进到可复用、可验证的业务流程。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 3944

[Android]利用金山词霸API实现英汉互译APP

最近在做一个单词本的项目实战,其中涉及到一个功能,英汉互译。在众多翻译API中查找适合的API,发现金山词霸API很适合完成这样的一个功能。因为它包含发音、基本释义、例句等功能。其他API相对简单,没有发现含有例句的数据。而且金山词霸API的使用也是简单到不行,只需要申请一个Key,就可以进行查询了。而我在使用这个API的时候遇到了很多困难,不过现在都已经完美解决。网上其他的文章对于该API的介绍...

樱_花_庄 1万+

基于摩尔线程 S80 显卡在 Ubuntu 系统下双卡交火部署 DeepSeek

curl -X POST -H "Content-Type: application/json" -d '{"prompt": "你的问题"}' http://localhost:11434/api/generate。curl -X POST -H "Content-Type: application/json" -d '{"prompt": "你的问题"}' http://localhost:11434/api/generate。- 为避免模型占用系统盘空间,可将模型存储路径修改到其他磁盘。

靡不有初,鲜克有终 1196

18、Excel VBA编程:自定义函数创建与代码调试全攻略

本文详细介绍了Excel VBA中自定义函数的创建方法,以获取单元格注释为例演示了完整开发流程,并深入讲解了代码调试的重要性与核心工具。内容涵盖三种主要错误类型及其应对策略,系统介绍了调试工具栏、断点、逐行执行、Locals窗口、Immediate窗口等实用功能。通过综合案例展示了如何运用调试技术解决实际问题,并总结了提前规划、逐步测试、日志记录等最佳实践,帮助读者提升VBA编程效率与代码质量。

life6的博客 100

对爱词霸(iciba)生词本功能的一些建议

对爱词霸(iciba)生词本功能的一些建议

GRANDTREE的专栏 2501

解决:请求的资源[/xxx/]不可用 描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。

解决:请求的资源[/xxx/]不可用 描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。

念兮为美 1万+

常用URL

 http://www.freemarker.org/index.html   freemarker參考http://struts.apache.org/1.2.9/userGuide/index.html     struts參考https://facelets.dev.java.net/nonav/docs/dev/docbook.html facelets參考http://getahead.

笑傲江湖的专栏 850

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Ubuntu下常用软件安装配置

Ubuntu命令技巧:http://wiki.ubuntu.org.cn/UbuntuSkills 1. Ubuntu下安装金山词霸     (1)下载     (2) 安装     (3) 配置: 添加快捷方式     系统--&gt;主菜单     在想要添加快捷方式的主菜单选中,比如互联网,然后点右边的新建项目,在弹出的窗口中:     名称:金山词霸     命令:/u...

SpringsSpace 135

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Ubuntu系统常用软件安装

Ubuntu系统常用软件安装要想正真正用Ubuntulinux工作,可不是安装完或者美化汉化好就可以的,常用软件可是一个都不能少阿,让我们从安装不得不装的软件开始,沿着影音播放软件、图像浏览和处理软件、网络软件、办公软件、游戏、系统工具软件、编程软件的顺序,一一道来吧。(1)不得不装的软件所谓“不得不装的软件”包括解压软件,比如常用的Winrar,词霸、快译、QQ、bt客户端、电骡、当然我们安装的

halazi100 830

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Linux命令行电子词典开发:从离线词库解析到SQLite缓存实战

在Linux环境下,命令行工具与本地应用开发是系统编程与自动化运维的核心技能。其原理在于通过组合系统调用、进程管理、文件IO与网络通信等底层机制,构建高效、可定制的实用程序。这类技术的价值在于能深度契合开发者的工作流,提升效率,并强化对系统本身的理解。典型的应用场景包括服务器管理、嵌入式开发以及日常自动化任务。本文聚焦于一个具体实践:开发一个功能完整的命令行电子词典。该项目综合运用了离线词库解析(如StarDict格式)、SQLite本地缓存、网络API集成以及ncurses终端界面开发,展示了如何将分散的

virusswb的专栏 400

ubuntu 常用软件安装。

要想正真正用Linux工作,可不是安装完或者美化汉化好就可以的,常用软件可是一个都不能少阿,让我们从安装不得不装的软件开始,沿着影音播放软件、图像浏览和处理软件、网络软件、办公软件、游戏、系统工具软件、编程软件的顺序,一一道来吧。 (1)不得不装的软件 所谓“不得不装的软件”包括解压软件,比如常用的Winrar,词霸、快译、QQ、bt客户端、电骡、当然我们安装的是linux版本的,或者说是完全免

898

Go语言入门实战:从猜谜游戏到在线词典的编程实践

Go语言(Golang)作为一门以简洁、高效著称的编译型语言,其核心优势在于强大的并发模型和丰富的标准库。理解其并发原理和标准库的使用,是掌握现代后端开发的关键。这些技术价值体现在能够高效构建高并发、高性能的网络服务与分布式系统。在应用场景上,Go广泛用于云计算、微服务、API服务和命令行工具开发。本文以两个经典实战项目——猜谜游戏和在线词典为例,深入解析了如何运用`goroutine`、`channel`以及`net/http`、`encoding/json`等核心包,帮助初学者通过实践跨越从理论到应用的

weixin_33908217的博客 370

最全的NC教程 Netcat 1.10

文章结构 0. 写在前面的话 1. Netcat 1.10 for NT - nc11nt.zip,原始英文信息 2. Netcat 1.10 for NT 帮助信息 3. Netcat 1.10 常用的命令格式 4. 管理肉鸡,更改肉鸡设置 5. 下载连接 6. 后记 ########################################################

RobertBaker的专栏 1519

打造完美linux系统:常用软件安装

打造完美linux系统:常用软件安装(来源:http://bbs.yesky.com/bbs/jsp/view.jsp?articleID=2175030)要想正真正用Linux工作,可不是安装完或者美化汉化好就可以的,常用软件可是一个都不能少阿,让我们从安装不得不装的软件开始,沿着影音播放软件、图像浏览和处理软件、网络软件、办公软件、游戏、系统工具软件、编程软件的顺序,一一道来吧。(1)不...

csstome 399

[ubuntu] 常用软件

ll cabextract rar unrar //安装支持rar sudo apt-get install nmap //搜索ip所开端口 sudo apt-get install virtualbox //虚拟机 sudo apt-get install stardict //星际译王 #sudo apt-get install audacious //听音乐播放器,乱码设置:右键->首选项->播放列表->在标题格式选择"自定义",下面值为"%f&

{丸の子} 92

推荐一个跨平台内存分配器

原文:http://www.cppblog.com/feixuwu/archive/2010/07/10/119980.aspx 昨天一个同事一大早在群里推荐了一个google project上的开源内存分配器(http://code.google.com/p/google-perftools/),据说google的很多产品都用到了这个内存分配库,而且经他测试,我们的游戏客户端集成了这个最新内存分

玄冬Wong 338

推荐一个跨平台内存分配器【转载】

原文地址:http://www.cppblog.com/feixuwu/archive/2010/07/10/119980.aspx 昨天一个同事一大早在群里推荐了一个google project上的开源内存分配器(http://code.google.com/p/google-perftools/),据说google的很多产品都用到了这个内存分配库,而且经他测试,我们的游戏客户端集成了这个最...

weixin_30527143的博客 194

推荐一个跨平台内存分配器TCmalloc

昨天一个同事一大早在群里推荐了一个google project上的开源内存分配器(http://code.google.com/p/google-perftools/),据说google的很多产品都用到了这个内存分配库,而且经他测试,我们的游戏客户端集成了这个最新内存分配器后,FPS足足提高了将近10帧左右,这可是个了不起的提升,要知道3D组的兄弟忙了几周也没见这么大的性能提升。 如果我们自

3111
上一篇: 稀疏文件变成了普通文件
下一篇: 给 TextView 加上效果和事件响应
javaEidolon
博客等级 码龄24年 1粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值