FreeMdict改版,欢迎提建议!

kotobank.jp/dictionary
全自动开源爬虫

讨论&交流 hua 9个月前 (02-13) 1069次浏览 已收录 20个评论 扫描二维码

新年快乐。

带来一个新春贺礼,一个小小的python程序。

自动化爬取 https://kotobank.jp/dictionary 这个网站的词典数据,有120本左右的词典,任选爬取。

大哥们,python真是牛逼,可以直接打包exe程序。在此上传,不用装任何依赖,直接点击运行。也放在了GitHub。

Github链接在此(程序文件在此):https://github.com/freemdict/kotobak.jp_dictionary_auto_spider

下载文件之后,请务必解压运行!

做这个程序的目的更多是抛砖引玉,或者引导小白做自己的词典。我也是小白过来的嘛,现在也还是小白。

使用python的理由很简单,这是小白入门最快的语言,最友好的语言,没有之一。多种多样的模块十分齐全。即使从零开始学也非常快。

纯小白安装教程在下面。

运行截图,点击放大。

从零开始安装教程

嗯,其实我不知道应该从哪儿写起,没有任何看不起的意思,我确实不知道面前的你有多白。那我就从python说起吧。吹会牛逼。

这个小小程序是基于python运行环境的。python是一门编程语言,(哇我在想我要不要解释什么是编程语言),它长啥样你不必要知道。你要知道的只是,这门编程语言是最适合新手的,因为它卓越的扩展性、兼容性、“可组装性”,没有之一,它就是最适合新手的语言。效率和并发什么的你可能会说比不上C等语言,但是做点小项目,哪有那么大的压力?python里面的文字你可以当作英文语句来读。

现在继续讲GitHub,这是互联网上知名的(各种)代码托管网站,拥有文件版本管理,多人协同发展代码等功能。是码农交流知识和代码的地方。由于码农多为男性,GitHub又名Gayhub (误)。我将代码放在GitHub上,是希望大家一起来提高代码质量,提出意见,发表你自己的看法。

现在回到正题,所以说当你打开上面的GitHub链接后,你会看到一些文件。

kotobank.jp/dictionary<br>全自动开源爬虫
点击放大

最重要的就是

auto_spyder_kotobank.jp_word.py

这个文件

README.md文件是介绍代码用的。

下载代码请点击右上角的

kotobank.jp/dictionary<br>全自动开源爬虫
下载请点击Download zip

好,现在我们开始本地环境的搭建。下面是我自己怎么搭建环境,不同人有不同办法,但是殊途同归。首先声明,我是windows10系统,其他windows系统操作方法一样,但是MAC OS我不熟悉,但是应该更简单。我是官网下载python,配合Visual studio Code使用。看不懂没关系,照着做就行,照着做你就懂了。

Step 1

到python官网下载python来安装。
官网地址
选择适合的版本下载安装。

kotobank.jp/dictionary<br>全自动开源爬虫

Step 2

安装下载好的程序。注意跟随我勾选几个选项。原因:添加下系统变量,便于管理。箭头所指的地方,一定打勾。随后一路Next就好。顺便你留心一下安装路径是啥,随后有用。

kotobank.jp/dictionary<br>全自动开源爬虫


Step 3

安装好之后,别着急打开,打开安装路径。这儿的文件应该长这样。

kotobank.jp/dictionary<br>全自动开源爬虫
文件列表

这个时候你的文件里没有python3.exe这个文件的!

我们现在要做两件事。第一件,复制一份python.exe的副本到此目录,然后将副本重命名为python3.exe,本体不动。

第二件事,打开Scripts目录。

kotobank.jp/dictionary<br>全自动开源爬虫
kotobank.jp/dictionary<br>全自动开源爬虫

复制一份pip.exe的副本到此目录,重命名为pip3.exe

Step 4

打开你的windows命令行。也就是按一下windows键,输入cmd。

kotobank.jp/dictionary<br>全自动开源爬虫

或者按下Windows + R,输入cmd,点击回车。

kotobank.jp/dictionary<br>全自动开源爬虫

好的,命令行窗口应该长这样。

kotobank.jp/dictionary<br>全自动开源爬虫

我们来验证安装是否成功。

输入 python3 回车。应该返回这样。

kotobank.jp/dictionary<br>全自动开源爬虫

如果是这样,就成功,输入 exit() 回车来退出。再来验证下一个。输入 pip3 -V 回车。

kotobank.jp/dictionary<br>全自动开源爬虫

这样就是对的。

那么现在我们以管理员身份启动命令行安装一些东西。输入以下命令。

pip3 install request bs4 psutil colorama requests

Step 5

由于python原生的代码编辑界面不好看,我强烈推荐Visual studio code。
官方网站

下载下来安装就好。

打开Visual Studio Code,再打开我们的 auto_spyder_kotobank.jp_word.py 文件,按下F5,就可以运行了!

感谢你看到这儿, 这个程序自动爬取数据之后,会自动进行一堆数据处理,从而在目录下生成一个dictionary文件夹,在这个文件夹里有一个你选择词典的名字的文件夹,这里面,有一个 finaldata.txt 文件,这个就是最终的成品文件。然后,有一个data文件夹,这里面是储存图片用的(如果有的话)。

kotobank.jp/dictionary<br>全自动开源爬虫
kotobank.jp/dictionary<br>全自动开源爬虫

MDXbuilder地址:官方地址
(不得不说一下,官方不提供MDXbuilder3.x版本的下载了,但是3.x版本制作出来的mdx/mdd是兼容性最好的。所以推荐到这儿下载和使用MDXbuilder3.x版本)

(推荐)MDXbuilder3.x下载地址 :Github

Step 6

打开MDXbuilder,选择你txt文件所在的位置,看一眼data文件夹里面有没有图片,因为有的词典是没有图片的,有的话在MDXbuilder里面输入data文件夹所在的目录。输入你想要输出的mdx文件的文件名。点击start,你就会得到你自己的词典啦!

MDXbuilder的界面有五个地方需要修改,都是很简单的看名字就知道是什么意思的东西。

kotobank.jp/dictionary<br>全自动开源爬虫
演示用,图中有的名字写错了

那么,这个词典还有一个空白css,欢迎你自己修改,会自动生成在 finaldata.txt 同级目录的。请更新下代码。

结尾感言:欢迎大家来为这个小小程序提意见,以及为这个项目contribute,不过我还得说一下,我们最好都坚持最小依赖原则,因为依赖越多,就越像程序员玩的东西了,门槛这个东西,能低就低,无论是学习还是资源,FreeMdict创立的初衷,不就是降低知识获取的门槛吗?(当然,我是说,能简则简),能只用python和txt的就用这俩,没有必要引进sqlite,redis这些东西,你要说性能的话,在这个小项目上你和我扯啥呢。

喜欢 (2)
头像
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到
(20)个小伙伴在吐槽
  1. 头像
    厉害了!膜拜!多谢! 在按F5那一步,出错了,说没有request啥的…大神可以留一个qq便于请教吗?
    fans2019-02-13 23:07 回复 Linux | Chrome 61.0.3163.128
    • 头像
      就在这儿讨论吧 看到我会回 网站最下面有QQ群链接
      hua2019-02-14 08:44 回复 Windows 10 | Chrome 71.0.3578.98
      • 头像
        感谢大神回复! 今天更新您的代码之后出现了如下提示:expected an indented block (, line 397)
        fans2019-02-14 10:50 回复 Windows 10 | Chrome 63.0.3239.132
        • 头像
          现在去重新下一下 有个地方空格打少了 不过文件已经做好了你看一下目录 有finaldata.txt 了已经
          hua2019-02-14 10:56 回复 Windows 10 | Chrome 71.0.3578.98
          • 头像
            好滴,多谢老大!我试试!
            fans2019-02-14 13:23 回复 Windows 10 | Chrome 63.0.3239.132
          • 头像
            老大,我测试了第一个英和词典和日本人名词典,都是在百分之75左右显示“Exception has occurred: requests.exceptions.ConnectionError HTTPSConnectionPool(host='kotobank.jp', port=443): Read timed out.” 不知道该如何出来哈。小词典没有问题,直接可以生成final data文件。
            fans2019-02-14 13:51 回复 Windows 10 | Chrome 63.0.3239.132
            • 头像
              这是爬取太快网站反爬导致的。如果你着急的话,把线程数调小,就是爬慢点,就不会出现这个问题。我随后会更新代码的代理反爬函数,等几天。
              hua2019-02-14 14:19 Windows 10 | Chrome 71.0.3578.98
            • 头像
              明白啦,感谢大神!
              fans2019-02-14 14:39 Linux | Chrome 61.0.3163.128
            • 头像
              请问大神更新了代码了吗?小词库做的不过瘾?。期待更新。
              fans2019-02-19 09:00 Linux | Chrome 61.0.3163.128
            • 头像
              等下吧
              hua2019-02-19 09:01 Windows 10 | Chrome 72.0.3626.109
            • 头像
              好滴。谢谢大神。
              fans2019-02-19 10:52 Linux | Chrome 61.0.3163.128
            • 头像
              这个爬虫步骤和爬其他网站一样吗?
              simon2019-04-18 23:47 Windows 10 | Chrome 55.0.2883.87
            • 头像
              您推荐的是日文词典,我要学习爬英语词典。
              simon2019-04-18 23:49 Windows 10 | Chrome 55.0.2883.87
            • 头像
              自行上网学习
              hua2019-04-19 00:02 Linux | Chrome 73.0.3683.90
            • 头像
              纯小白,您能推荐下吗?
              simon2019-04-19 00:12 Windows 10 | Chrome 55.0.2883.87
  2. 头像
    kotobak.jp_dictionary_auto_spider,很难下载,为什么不放在百度盘?
    fans2019-04-09 23:26 回复 Windows 10 | Chrome 56.0.2924.90
  3. 头像
    哪里可以找到编爬虫的资料?
    fans2019-04-09 23:30 回复 Windows 10 | Chrome 56.0.2924.90
  4. 头像
    不喜欢百度
    hua2019-04-09 23:33 回复 Linux | Chrome 73.0.3683.90
  5. 头像
    因特网 万维网 互联网
    hua2019-04-09 23:33 回复 Linux | Chrome 73.0.3683.90