今天跟大家唠唠我搞的这个《oxforddictionary》的小玩意儿,一开始我就是想找个靠谱的词典用用,结果一不小心就自己动手丰衣足食了。
我上网搜了一圈,发现各种在线词典、APP是真不少,什么“牛津英语免费词典”、“Oxford English Dictionary online”,看得我眼花缭乱。但是,总觉得差点意思,要么广告太多,要么界面太丑,要么查词速度慢得要死。
所以我就寻思,干脆自己做一个得了。说干就干,第一步,当然是确定用什么来搞。我想着要方便快捷,最好能直接在命令行里用,那就Python,简单直接。
我就开始找数据源。正版的牛津词典数据肯定是用不起的,太贵了!我就开始各种爬,各种找免费的API。这中间踩了不少坑,有的API要收费,有的API返回的数据格式乱七八糟,处理起来麻烦死了。
好不容易找到一个还算靠谱的API,可以免费查词,返回JSON格式的数据。接下来就是写代码了。我先搭了个架子,用Python的requests库去请求API,然后用json库解析返回的数据。
拿到数据之后,怎么显示出来?我一开始直接把JSON数据打印到命令行,结果可想而知,乱七八糟的,根本没法看。
然后我就开始琢磨怎么美化输出。我想着要显示词性、音标、释义,最好还能加上例句。于是我写了一堆函数,把JSON数据里的各个字段提取出来,然后用一些简单的格式化技巧,让它们整齐地显示在命令行里。
这中间调试了好久,各种对齐、缩进、颜色,调得我眼睛都快瞎了。不过效果还不错,至少看起来像那么回事了。
为了方便使用,我还给这个小工具加了一些小功能。比如,可以自动补全单词,可以模糊搜索,还可以显示单词的词频。这些功能都是一点一点加上去的,每次解决一个问题,都感觉很有成就感。
我把这个小工具打包成了一个可执行文件,这样就可以直接在命令行里运行了。我还写了一个简单的README文件,介绍了怎么使用这个工具。
虽然这个《oxforddictionary》小工具还很不完善,功能也很简单,但是它确实解决了我查词的问题,而且也让我学到了很多东西。以后有时间,我还会继续完善它,让它变得更加好用。
这回实践经历让我深刻体会到,动手解决问题才是最好的学习方式。遇到问题不要怕,一步一个脚印,总能找到解决方案的。而且自己做的东西,用起来就是爽!
