没有什么能够阻挡我对学习的向往:建立自己的Anki单词卡片库

 Anki是什么?

Anki是一个记忆软件,它可以帮你建立自己的学习库,辅助学习和记忆,让学习更加快速和开心。它怎么用?各位可以参考下边的资料。


Anki(知识记忆工具) - 热门问答 - 知乎Anki 怎么用?519个最新问答,点击查看更多>>www.zhihu.com去看看

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. 用铅笔写

经过我们的处理,这样看似杂乱的单词就变成了一张张的学习卡片

没有什么能够阻挡我对学习的向往:建立自己的Anki单词卡片库

这个卡片带图片,真人发音。看起来不错啊,心痒痒?让我们开始这段感情吧(划掉)

Windows 下使用

安装Chrome

使用搜索引擎可以找到,因为狗歌被墙,推荐翻不了的同学去新浪下。

Python

去官网 下载widows 版本的python 3.6,windows 如下勾选:

没有什么能够阻挡我对学习的向往:建立自己的Anki单词卡片库

注意一定要勾选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|/

开始抓取

拿到抓取脚本点击:

bing2anki.py

然后在页面的raw上右键

没有什么能够阻挡我对学习的向往:建立自己的Anki单词卡片库

链接另存为,把脚本保存下来,记下路径。脚本能够处理的输入单词格式参考下边:

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 是你语音文件所在的目录,怎么查看文件究竟在哪里啊?看下图,在文件名上点右键,属性,找到位置,把它选中复制下来,在命令行里右键粘贴就行了

反斜杠如果被大妈吃掉见图反斜杠如果被大妈吃掉见图

没有什么能够阻挡我对学习的向往:建立自己的Anki单词卡片库

现在开始,你可以去泡杯茶,看下张大妈有没有新的优惠信息,因为抓取需要一定的时间,原因是webdriver开启天量的短链接,如果不限制抓取速度,会有可能耗尽操作系统端口(操作系统:我能怎么办,我也很绝望啊),故限制抓取速度为一个单词5秒左右,完成以后脚本会自动退出。

脚本做了什么

这个脚本是我自己写的,基本原理就是把你需要查找的单词,发送给微软Bing,然后获取它的解释,并获得它的图片,再根据本地的语音文件生成anki可以识别的模板格式,然后再导入到模板里。

这个脚本可以自动化你每一个查词的动作,用不着自己再一个个输入到词典里,几千单词卡片只需要一个小时就能制作完成。运行时,脚本会操作chrome 自动查询和获得结果,如图:

没有什么能够阻挡我对学习的向往:建立自己的Anki单词卡片库

看着像是人工输入,其实是脚本在操作。这样一来你都不知道坐在对面屏幕的是一条狗还是个脚本。

导入卡片到Anki

安装anki并导入模板

官网下载以后安装,然后进入 anki。

下载下边的模板

单词卡片模板__1 Recite.apkg

双击导入到anki里

导入你的词库

使用anki的菜单:文件->导入,选中anki_bing.txt,点击打开

没有什么能够阻挡我对学习的向往:建立自己的Anki单词卡片库

然后在导入选项里选择:

类型:单词

记忆库:按你的要求选

点击 区域分隔由间隔:,在弹出的框里输入 |

没有什么能够阻挡我对学习的向往:建立自己的Anki单词卡片库

点确定以后,选中“允许在字段中使用HTML”

没有什么能够阻挡我对学习的向往:建立自己的Anki单词卡片库

媒体文件

虽然导入完成了,但是我们的媒体文件需要存放到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 上,大家如果需要可以下载:

没有什么能够阻挡我对学习的向往:建立自己的Anki单词卡片库

最后祝大家的单词背得SixSixSix.

没有什么能够阻挡我对学习的向往:建立自己的Anki单词卡片库


本文著作权归作者本人和什么值得买共同所有,未经许可不得转载。文章仅代表作者看法,如有更多内容分享或是对文中观点有不同见解,值客原创欢迎您的投稿。点此投稿
推荐关注:
经验
标签:经验 +关注
软件技能
分类:软件技能 +关注

提示

鼠标移到标签上方,

尝试关注标签~

评论59

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

341 59

关注数量超出限制,请先删除部分内容再尝试

关注数量超出限制,
请先删除部分内容再尝试

登录
注册
用户名/邮箱
密码
验证码
看不清?点击更换
看不清?点击更换 忘记密码?

已收藏
去我的收藏夹 >

已取消收藏
去我的收藏夹 >

小提示