搜索引擎:获取并处理mdx英汉词典文件为数据库
文章目录
- 1.1 词典mdx文件资源下载
- 1.2 词典文件转文本
- 1.3 词典大文本处理
- 1.4 词典文本转数据库
- 1.5 词典数据库查询
1.1 词典mdx文件资源下载
为实现搜索词的纠错的需求,我尝试维护本地的词典,从中寻找纠错替换词。
首先需要获取词典文件资源,将其下载到本地,给出两个词典资源的网址:
Index of /Recommend/汉英词典(第三版)/ (freemdict.com)
牛津 / 朗文 / 柯林斯 / 韦氏词典mdx词库文件 米斯特范工作室® (mrfan.org)
如果失效了可以自行搜索 寻找你所需要词典的mdx文件即可。
1.2 词典文件转文本
Python可以直接对mdx文件进行读取
但JAVA对mdx文件不便直接处理,我们利用转化工具,将其转变为txt文件。
工具名称叫做:GetDict
我把它放在了百度网盘里
链接: https://pan.baidu.com/s/1sM6qRIDYeofGef120E9rNQ?pwd=k6g7 提取码: k6g7
运行效果如下:
该文本文件规模较大,利用常规的 “记事本” “EXCEL” "Notepads"均无法正常打开。
1.3 词典大文本处理
使用Visual Studio Code 或者 EmEditor 都能够打开该大文本文件
Visual Studio Code - Code Editing. Redefined
下载 – EmEditor (文本编辑器)
不断点击下一步即可完成安装 打开文本后我们观察到如下界面:
利用替换功能 将HTML代码删除
再次使用替换功能 去除换行符\n
仅留下我们需要的英文单词及其释义。
1.4 词典文本转数据库
词典的行数较多 需要考虑查询速度的问题,因此我们不便直接查询文本文件 而需要建立数据库。
将混乱的文本转化为有逻辑组织的二维表也更助于我们之后的检错工作。
首先将上述词典文本文件的每个单词拆分各个组成部分
而后处理成SQL语句文件 便于快速建立数据库
这部分处理的python代码 如下
# 处理词典文本文件 将其转化为数据库语句
fileHandler = open("21世纪大英汉词典.txt", "r", encoding="utf-8")
listOfLines = fileHandler.readlines()
fileHandler.close()
f = open("dict.sql", "a",encoding="utf-8")
i = 0
for line in listOfLines:i = i + 1word_list = line.strip().split("\t")en = word_list[0]ch = word_list[1].replace(en, "")en = en.replace("'", "\\'")ch = ch.replace("'", "\\'")print("INSERT INTO `dict` VALUES (" + str(i) + ",'" + en + "','" + ch + "');",file=f)
f.close() # 关闭文件
执行dict.sql里的语句即可完成词典表的建立,
这里时间较长,电脑慢的话40mins左右才能运行完。
或许用Python处理会快一些 我没有再进行尝试了。
结果如下 共323791条记录:
1.5 词典数据库查询
建立数据库后 查询高效了许多
如查询所有字母p开头的单词/词组
SELECT * FROM `dict` where word_en like 'p%';
搜索引擎:获取并处理mdx英汉词典文件为数据库相关推荐
- c语言程序报告英汉词典,C语言电子英汉词典程序设计报告-自动化1203-李煜明.docx...
C语言电子英汉词典程序设计报告-自动化1203-李煜明 课 程 设 计 报 告课程名称 C语言课程设计 课题名称 电子英汉词典 专 业 自动化 班 级 1203 学 号 201201020304 姓 ...
- 电子英汉词典c语言程序设计报告,英汉电子词典设计报告_设计_C语言_C语言程序设计.doc...
英汉电子词典设计报告_设计_C语言_C语言程序设计 课程设计 课程名称 :C语言程序课程设计 题目名称 :电子英汉词典 学生学院 :电气信息学院 专业班级 :自动化1101 学 号 :20110102 ...
- 英汉词典mysql_构建英汉词典数据库 java
读入文本形式的牛津英汉词典文件InputDictionary.txt,将其存为规范的文本格式文件OutputDictionary.txt,字段之间以\t分隔希望能给出个具体的程序,不要提示.谢谢了In ...
- 英汉词典c语言报告程序,C语言电子英汉词典程序设计报告-自动化1203-李煜明.docx...
课 程 设 计 报 告 课程名称 C语言课程设计 课题名称 电子英汉词典 专 业 自动化 班 级 1203 学 号 201201020304 姓 名 李煜明 指导教师 欧阳湘江 田媛 张晓清 2013 ...
- 英汉词典c语言实验报告,大学课程英汉电子词典设计报告设计C语言C语言程序设计.doc...
课程设计 课程名称 :C语言程序课程设计 题目名称 :电子英汉词典 学生学院 :电气信息学院 专业班级 :自动化1101 学 号 :201101020104 学生姓名 :胡拚 联系方式 指导教师 :陈 ...
- c语言程序设计英汉词典设计,英汉电子词典设计报告_设计_C语言_C语言程序设计.pdf...
课程设计 课程名称 : 语言程序课程设计 C 题目名称 :电子英汉词典 学生学院 :电气信息学院 专业班级 :自动化1101 学 号 :201101020104 学生姓名 :胡拚 联系方式 指导教师 ...
- [转]为iPhone4S和iOS5增加全局英汉词典教程
[转自http://www.app178.com/jiaocheng/iPhone/20120202/17671.html] iOS5自带了翻译软件,但是默认的词典只有英英和日语词典,没有国内最需要的 ...
- APP Designer 制作简易英汉词典的回调函数书写
APP Designer 制作简易英汉词典的回调函数书写 在学习MATLAB 的App Designer 时看到的一个有意思的小项目,主要步骤参考了slandarer 的MATLAB 手把手带你制作第 ...
- Python基础笔记_Day14_Python图形化界面、Python GUI、tkinter、Python英汉词典
Day14_Python图形化界面.Python GUI.tkinter.Python英汉词典 14.01_Python语言基础(Python实现英汉字典)(掌握) 14.02_Python语言基础( ...
- PubMed(丁香)英汉词典爬取
使用Scrapy爬去PubMed(丁香)英汉词典 1.使用Scrapy创建项目 scrapy startproject med 2.进入med文件夹创建HtmlFilter.py用于除去标签. 实现参 ...
最新文章
- 一分钟在Linux环境下创建一台SFTP服务器(含账户创建)
- python语言解释器的全部代码都是开源的_Python IDE和解释器的区别是什么?
- CTFshow 命令执行 web56
- 彻底吃透Web服务器、容器、应用程序服务器与反向代理
- kill进程_你还在使用kill -9 杀进程吗?从原理谈避免踩雷!
- [LeetCode] Power of Two 判断2的次方数
- 从零开始搭建Ubuntu 环境下的Android 源码开发环境
- 开始位置 环状图_上海这个地方新建两所中小学!建筑效果图、出入口、学校位置等信息公布...
- python_str 字符串的所有方法
- UML统一建模语言 Rational Rose 使用
- Retrofit实现App更新
- Django Channels 个人对官方文档大概理解 及一些地方的作用
- MNIST | 基于k-means和KNN的0-9数字手写体识别
- 微信公众号JS屏蔽分享,复制链接等
- 查询数据库表字段属性
- 吐血分享!这几个在线网站超劲爆,福利满满
- 计算机主板会自动切断电源是怎么回事,电脑开机自动断电怎么办
- 6.3【字符数组编程】假定输入的字符串中只包含字母和*号。请编写子函数实现:除了字符串前导的*号之外,将串中其他*号全部删除。
- webstom的eslint中的fix eslint problems 如何对.vue文件生效
- html的细节优化,网站图片优化细节放送(seo技巧)