大家好,我喜欢瞎倒腾的大野。
这个周末我又发现了一些有趣的东西,那就是把MDX格式的字典变成在线的工具;
PART1 mdx-server-master
话不多说先上效果:
python 启动 mdx_server.py, 就可以在浏览器端口打开http://localhost:8000/test,查词
http://localhost:8000/<单词>
在mdx_server.py 注销部分代码,写入固定的mdx路径,就可以部署到自己的服务器上。
if __name__ == '__main__':
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("filename", nargs='?', help="mdx file name")
args = parser.parse_args()
# use GUI to select file, default to extract
if not args.filename: #注销下面的内容,就不会弹出Windows窗口要求你选择mdx字典了
# root = tk.Tk()
# root.withdraw()
# args.filename = filedialog.askopenfilename(parent=root)
# print(args.filename)
args.filename='C:/Users/Admin/Desktop/[英汉-汉英][4合1]郎文英英5版双解4版Extra5版+简明汉英.mdx' #把mdx词典路径写在这里
if not os.path.exists(args.filename):
print("Please specify a valid MDX/MDD file")
else:
builder = IndexBuilder(args.filename)
t = threading.Thread(target=loop, args=())
t.start()
以上就把一个字典部署成在线可以获取查单词结果的API接口;还没完
感兴趣的朋友,可以找我要mdx_server。
PART 2 如何打造一个serverless的微信小程序
这里有一位大神已经基本实现了微信小程序,从网页词典API查词,加入ankiweb卡片组,然后通过艾斯浩宾记忆曲线背诵单词;
绝对是英语学习者的神器;
文章没有说明查词功能的操作,因此我补充了PART1的内容;
重点是文章后端部分调用ankiweb集合组件的操作;
大致的步骤就是:微信小程序用户输入单词查词,调用mdx的词典服务器API返回查询结果,用户点击加入ankiweb卡组, 调用ankiweb集合组件加入卡组,然后用户可以通过单词本科学的背单词;
具体大家看看作者的原文章
感兴趣的朋友可以试试作者的微信小程序;简书不让发图,感兴趣的朋友可以私信给
PART3 如何动手打造属于自己的 ANKI 牌组(编程向)之牛津基本三千词
有些朋友可能想自己做卡片组,不想一个个积累卡片组;
方法一:官方的资源卡片组
如图:
方法二:就是part3的内容了;通过爬取在线词典的内容如牛津基本三千词
会以下内容的可以点击原文章去详细读:
爬虫知识:Python 及其各种库,如 Requests 、BeautifulSoup 等
前端知识:Html Css (JavaScript 可选)
Anki知识:理解 Anki 原理,熟练使用 Anki 软件
除此以为,你可能还需要一些动手能力,并且能够熟读 Anki 文档
不懂的朋友,可以听我简单说两句:
- 第一步:是通过左边的A-B,C-D获取大类的所有链接;然后通过每个链接遍历,获取小类右边的链接;
就可以得到A-Z所有单词的开头的链接; - 第二步:通过每个链接爬取单词的释义,和音频;
python-request
的方法;然后用BeautifulSoup
解析网页内容; - 第三步:把内容按照ankiweb的要求,写成卡组;完美撒花,对了,还得导入ankiweb;
Anyway, 如果不会搞,还是下载别人弄好的卡组吧;
之前听李笑来老师说,学任何学科都要背诵理解这个学科的所有术语,学习能事半功倍;因此,任何学科的知识都能做成卡组来背诵;python能帮助最快的做卡组,ankiweb帮助最快的掌握知识,微信小程序嘛,随时随地学习;
最后偷偷告诉大家其实不用这么麻烦,用欧陆词典+mdx词典源就可以了。别瞎折腾;
好吧,不吹牛了,上王者荣耀了