caihui10 发表于 2019-5-8 10:09:57

如何把每个字条的短语、习语等提取出来

本帖最后由 caihui10 于 2019-5-9 08:53 编辑

发现在字典里输入任何短语、习语,只要21世纪大英汉有,都能显示出来,大大提升了查字典的效率,但缺乏例句。陆老的大英汉例句丰富,但只能到该词条下去看,很是不便!很想学习下这个技术,把这部分提取出来方便查阅。在论坛里找了几个工具,像https://www.pdawiki.com/forum/fo ... =12972&extra=page=1,说只要输入空格,就可以提取,试过了好像不行。https://www.pdawiki.com/forum/fo ... =18986&extra=page=1,按正则该如何填写代码?比如想把大英汉的短语、习语部分提取出来该怎么弄?比如:想把 aback这个单词下的 <span class="phmk">■</span phmk> <span class="phrase">be taken aback </span phrase>:<br>.<span class="table"><span class="num">1.</span num>吃一惊;被弄糊涂:</span table>提取出来该怎么弄?论坛上看到还有很多方法,恳请大侠赐教!

mikeee 发表于 2019-5-12 09:31:22

本帖最后由 mikeee 于 2019-5-12 09:33 编辑

我不是已经说了怎么提取短语习语了,在给出具体python码吧
from pyquery import PyQuery as pq
html = '<span class="phmk">■</span phmk> <span class="phrase">be taken aback </span phrase>:<br>.<span class="table"><span class="num">1.</span num>吃一惊;被弄糊涂:</span table>'
res =
print(res)
# 结果: ['■', 'be taken aback', '1.吃一惊;被弄糊涂:']提出短语习语后再重构字典,也不是太难的事,不过不会点编程单靠 vscode 的话要走很多很多弯路。

mikeee 发表于 2019-5-11 13:24:04

本帖最后由 mikeee 于 2019-5-11 13:33 编辑

先给答案:用 css选择器 .phmk,.phrase,.table

验证方法。 先将以下代码(楼主给出的mdict/html码)存为html文件,例如 phrases-idioms.html
<span class="phmk">■</span phmk> <span class="phrase">be taken aback </span phrase>:<br>.<span class="table"><span class="num">1.</span num>吃一惊;被弄糊涂:</span table>

再用Chrome打开 phrases-idioms.html (一般双击 phrases-idioms.html即可。也可用其他浏览器,基本思想一样)。再调出 devtools (Chrome里右键选 Inspect或ctl-shift-I)。在devtools选定 Elements标签。在Elements标签按 ctrl-f,在跳出的搜索栏里键入 .phmk,.phrase,.table

结果大致如下图

https://i.loli.net/2019/05/11/5cd659f8be658.jpg

可以看到 css选择器 .phmk,.phrase,.table 找到网页里的三个元素。

至于如何提出对应的三个元素有许多办法,python里可用 pyquery, node/js里可用 cheerio/jquery,其他编程语言也都应该有包可用。

python的话可直接用 readmdict 直接从 mdx 文件逐个读出每个词头的内容再用 pyquery + css选择器 进行处理, 内存足迹极小。顺便提一句,正则要处理这种东西也并非不可能但怕是会力不从心,不信可以试试{:4_91:}

caihui10 发表于 2019-5-11 23:30:42

查看元素,我知道操作,关键是不会提取,我按drough发的教程安装了vscode,但运行总是说路径不对,我也不知道是哪里错了。哎,折腾这玩意都无心学习了。你看能不能提供教程,就像21世纪大英汉那样,什么短语都能查,只要它里面有。我昨天发了个RMB求购的帖子被人扔进了回收站,我也不想浪费太多时间在这上面,就想花点钱买技术。越简单越好,因我没任何计算机基础知识!

caihui10 发表于 2019-5-15 21:12:44

mikeee 发表于 2019-5-11 13:24
先给答案:用 css选择器 .phmk,.phrase,.table

验证方法。 先将以下代码(楼主给出的mdict/html码)存为ht ...

还是不会提取,谢谢你的耐心帮助,没有编程基础真是看不明白。

ogrishman 发表于 2019-5-15 22:22:33

caihui10 发表于 2019-5-15 21:12
还是不会提取,谢谢你的耐心帮助,没有编程基础真是看不明白。

哈哈哈,你得自己稍微学习一点,要不然你想自己修改词典真的很难。不要没有信心,我也是去年年底才开始学习计算机技术的,现在已经可以自己修改和制作词典了。

ogrishman 发表于 2019-5-15 22:23:25

要么你就重金悬赏,说清楚你要什么效果,我来给你按你的需求做。
页: [1]
查看完整版本: 如何把每个字条的短语、习语等提取出来