没有什么能够阻挡我对学习的向往:建立自己的Anki单词卡片库
Anki是什么?
Anki是一个记忆软件,它可以帮你建立自己的学习库,辅助学习和记忆,让学习更加快速和开心。它怎么用?各位可以参考下边的资料。
Anki现在有PC/Mac/Linux版本(免费),Android版本(免费),IOS版本(¥160),大家可以根据自己的需求下载使用。今天我们要说的是,怎么样使用Anki建立自己的英语单词学习库。
我们想要的Anki卡片
比如下边的内容,我想把它变成可以使用的卡片
新概念英语 第一册 共793词
--------------------------------------------------------------------------------
序号 英语 词性 汉语
asffada
1 excuse n. 借口,理由;低劣的样品; v. 原谅
2 me pron. 我(宾格)
3 yes a. 是的; ad. 是,是的; v. 是
4 is v. 是
5 this a. pron. 这,这个
6 your pron. 你的,你们的
7 handbag n. 手提包
8 pardon n. 原谅,赦免; v. 宽恕,原谅
9 it pron. 它
10 thank you 谢谢你。
11 very much 非常地
12 pencil n. 铅笔; v. 用铅笔写
经过我们的处理,这样看似杂乱的单词就变成了一张张的学习卡片
这个卡片带图片,真人发音。看起来不错啊,心痒痒?让我们开始这段感情吧(划掉)
Windows 下使用
安装Chrome
使用搜索引擎可以找到,因为狗歌被墙,推荐翻不了的同学去新浪下。
Python
去官网 下载widows 版本的python 3.6,windows 如下勾选:
注意一定要勾选Add Python 3.6 to PATH,不然的话下边的操作会出错。
安装完成以后,按windows 开始按键,在搜索栏里输入cmd(或powershell),运行后,在弹出的命令行界面里输入
pip install splinter urllib3
等待安装完成,Python就准备好了
下载Chromedriver
ChromeDriver 因为众所周知的原因,无法从官网下载,国内最方便的是淘宝的镜像:
Windows 下载chromedriver_win32.zip ,把 文件放到python在的目录里
然后在cmd 里输入chromedriver 应该有如下输出:
Starting ChromeDriver 2.29.461591 (62ebf098771772160f391d75e589dc567915b233) on port 9515
Only local connections are allowed.
如果输出是
'chromedriver' 不是内部或外部命令,也不是可运行的程序或批处理文件。
则说明你的chromedriver放错了路径
语音文件
142000个英语单词语音库,把下边的链接使用下载工具(迅雷,QQ旋风)下载后解压到任意目录
ed2k://|file|%5B142000%E4%B8%AA%E5%8D%95%E8%AF%8D%E8%AF%AD%E9%9F%B3%E5%BA%93%5D.voice.rar|626969546|C46A52B3C3B4547362C517A2DD900D83|h=JHHGU6I5WULQFESTUBJE4CSNEENVRRNU|/
ed2k://|file|%5B142000%E4%B8%AA%E5%8D%95%E8%AF%8D%E8%AF%AD%E9%9F%B3%E5%BA%93%5D.voice.iso|391057408|9c917c36c920d4cb427dd72e1be72c90|h=MXKMCTCXQW7XOYOCE2YQ5QJCQRB6LFKI|/
开始抓取
拿到抓取脚本点击:
然后在页面的raw上右键
链接另存为,把脚本保存下来,记下路径。脚本能够处理的输入单词格式参考下边:
word #ok word
1 word #ok word
单词 word #ok word
单词 word n. thank you #ok word, n. and following rejected
单词 word CET4 #ok word, CET4 rejected
单词 thank you , word #NOT ok, phrase "thank you" accepted "," and following rejected
单词 word CET #NOT ok, phrase "word CET" accepted
CET 单词 word #NOT ok, CET accepted, all following rejected
就是说,如果你是单独的单词,只要它在一行的第一个英语单词出现处,后边有空格,然后跟什么垃圾数据都没关系。如果是短语,整体要求和单词一样,短语内用空格分隔。你把需要查的单词保存在文件里就可以了。
使用脚本抓取
按windows 开始按键,在搜索栏里输入cmd(或powershell),运行后,在弹出的命令行界面里输入
cd /d Pathtoyour bing2anki
type words.txt |python bing2anki.py PathtoVoice
其中Pathtoyour bing2anki是你下载的脚本文件所在的目录,words.txt 是你的需要查询的英语单词列表, PathtoVoice 是你语音文件所在的目录,怎么查看文件究竟在哪里啊?看下图,在文件名上点右键,属性,找到位置,把它选中复制下来,在命令行里右键粘贴就行了
现在开始,你可以去泡杯茶,看下张大妈有没有新的优惠信息,因为抓取需要一定的时间,原因是webdriver开启天量的短链接,如果不限制抓取速度,会有可能耗尽操作系统端口(操作系统:我能怎么办,我也很绝望啊),故限制抓取速度为一个单词5秒左右,完成以后脚本会自动退出。
脚本做了什么
这个脚本是我自己写的,基本原理就是把你需要查找的单词,发送给微软Bing,然后获取它的解释,并获得它的图片,再根据本地的语音文件生成anki可以识别的模板格式,然后再导入到模板里。
这个脚本可以自动化你每一个查词的动作,用不着自己再一个个输入到词典里,几千单词卡片只需要一个小时就能制作完成。运行时,脚本会操作chrome 自动查询和获得结果,如图:
看着像是人工输入,其实是脚本在操作。这样一来你都不知道坐在对面屏幕的是一条狗还是个脚本。
导入卡片到Anki
安装anki并导入模板
从官网下载以后安装,然后进入 anki。
下载下边的模板
单词卡片模板__1 Recite.apkg
双击导入到anki里
导入你的词库
使用anki的菜单:文件->导入,选中anki_bing.txt,点击打开
然后在导入选项里选择:
类型:单词
记忆库:按你的要求选
点击 区域分隔由间隔:,在弹出的框里输入 |
点确定以后,选中“允许在字段中使用HTML”
媒体文件
虽然导入完成了,但是我们的媒体文件需要存放到anki目录里,不然的话anki是显示不了图片和声音的,在windows(地址栏中输入)%AppData% ,找到anki2文件夹,找到你的用户(默认:用户1)目录下有一个 collection.media目录,刚才脚本生成的anki_media目录下有很多发音文件和图片,把它们全部复制过来就大功告成了。
分享到anki share deck
到ankiweb注册用户以后
在anki里点右上角那个圆圈登录,登录以后,可以再点一次同步你的资料到anki web ,然后到anki web 网站上,你就可以看到自己的资料,点share my deck 就可以很轻松的共享到anki
Mac/Linux用户
Chrome
推荐去新浪下载
Python3
Mac下没有实验,从官网下载默认安装应该问题不大
Linux 下打开终端使用(???用Linux 的同学应该知道怎么处理)
sudo apt-get install python3
依赖库:
Mac 下按下Ctrl + Space 调出spotlight(或点击Finder右上角调出),在输入框里输Terminal,运行终端,在终端里输入:
sudo pip3 install splinter urllib3
Linux 命令同上
Chromedriver
从taobao的 Mirror下载chromeDriver 包
解压以后放在你能找到的目录下或家目录下,然后进入终端,输入:
chmod +w ~/.bash_profile
vi ~/.bash_profile
进入vi以后按i键进入编辑模式,把光标移到最后(使用上下左右键移动)
添加两行:
PATH=$PATH:/path/to/your/chromedriver
export PATH
按esc ,然后输入:wq 回车以后退出vi
Linux 下操作类似,只是修改的文件要换成~/.bashrc
修改文件以后,重新进入terminal,输入chromedriver 未报错就可以认为成功了。
抓取
打开终端,输入
cat words.txt | python3 bing2anki.py /path/to/voice
words.txt 是你需要生成卡片的单词列表,/path/to/voice是你解压的voice文件夹目录
如果你的words.txt是gbk的,则有可能出现以下错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 0: invalid continuation byte
把命令改成
cat words.txt | iconv -c -f gbk -t utf-8 |python3 bing2anki.py /path/to/voice
媒体文件
Mac Anki2目录(Command+shift+G然后输入)
~/Library/Application Support/Anki2/
然后找到:你的用户/collection.media 目录,把媒体文件复制过来
Linux Anki
~/.local/share/Anki2
广告时间
我制作了一些卡片,分享在Anki 上,大家如果需要可以下载:
最后祝大家的单词背得SixSixSix.

FFwhy
校验提示文案
败家大叔
校验提示文案
罗大师傅
校验提示文案
養樂多
校验提示文案