夏俊文 发表于 2021-3-5 22:22:50

如何抓取 The free dictionary 网站中的 idioms 部分

本帖最后由 夏俊文 于 2021-3-5 22:29 编辑

目前论坛已经有几部非常不错的 idioms 词典适合大家使用 —— urban dictionary,baidu 大的 8 in 1。除此之外, the free dictionary 上的 idioms 词典也是非常不错的,甚至在某些方面胜于前面提到的两部。 这本虽然偶尔有人抓取,但是各个版本都不太完美。目前我能找到的比较好的版本是这个 https://www.pdawiki.com/forum/forum.php?mod=viewthread&tid=42207&extra=page%3D1 。抓取的很全,但是没有保留重定向的词头。 例如在网站上查询 they'd as soon do something 会自动跳转到 (one) would (just) as soon (do something)。个人认为 idioms 词典制作最大的困难在于合并多部词典,和词头拆分,而这个网站在这两部分都做了深度的处理。如果能完整的离线这本词典,那就太好了。
经过我的观察暂时没有发现这本词典有完整的索引页面,也没找到前辈们留下的 python 脚本。目前我的想法是每查一个 idiom 后在网站底部有一个 full browser,可以利用这个来逐个查询,并获取下一个 idiom 的词头。但是这个 full browser 列出的是所有字典的索引,包括法律词典,百科等,如果使用这个方法估计是会很费劲。不知道大家有没有什么好办法。
最终如果成功,应该能得到一个词头数在30万以上,词条在8万左右的一部 idioms 词典。

Lynvia 发表于 2021-3-6 12:04:13

这网站有三份索引,分别是主页的browser(字母索引),查询界面的分词典索引以及总索引(从头开始循环获取),每种获取方式拿到的都不完整。重定向当时有45万+。楼主如果打算重下,可以拿原先的词头生成索引,会比一个个循环快些。

夏俊文 发表于 2021-3-6 14:37:36

Lynvia 发表于 2021-3-6 12:04
这网站有三份索引,分别是主页的browser(字母索引),查询界面的分词典索引以及总索引(从头开始循环获取 ...

确实如此,主页的browser只有部分词头,分词典索引只包含了非重定向的词头,目前看来只有从头循环再通过底部的full browser来获取完整的索引了,感觉难度有点大。不知道可否分享一下当时抓取时用到的python脚本和索引,想偷点懒{:4_106:}。也不知道最后能不能成功{:4_99:}

klwo2 发表于 2021-3-7 15:38:01

本帖最后由 klwo2 于 2021-3-7 15:41 编辑

这个网站本身就是不求整齐只求全面的

【这个网站在这两部分都做了深度的处理】是错觉,「his heart stands still」固然可以跳转到「(one's) heart stands still」,「their hearts stand still」就不行了,人不是机器,如果人自己不知道stood是stand的过去时,my就是one's,hearts是复数,想靠穷举,我觉得没意思

我知道有的朋友是喜欢在技术上精益求精的,我只是说单就The free dictionary而言,人要稍微勤快一点,才会受益。还是以「(one's) heart stands still」为例:

One experiences a very strong emotions, especially excitement, nervousness, or fear, such that it feels as though one's heart stops beating for a moment.

《英汉大词典2》的形式是「Sb.'s heart stands still」

Sb.'s heart stands still.
某人吓呆了。

《英汉大词典2》显然是片面了。

用好The free dictionary,能发现英汉大词典一堆毛病呢,按理说缺那么些跳转,根本碍不了勤奋的人

夏俊文 发表于 2021-3-7 17:09:34

klwo2 发表于 2021-3-7 15:38
这个网站本身就是不求整齐只求全面的

【这个网站在这两部分都做了深度的处理】是错觉,「his heart stands ...

大大说的很对,但是现有版本在索引上问题有点大。以搜索heart stands still时为例,它不能自动跳转到 (one’s) heart stands still,个人感觉还是需要做一点点处理的{:4_91:}。这里是以欧路词典为例,我本人常用的是ios版的欧路词典。如果是电脑版的goldendict,在搜索时会有提示能够提示出(one’s) heart stands still。
页: [1]
查看完整版本: 如何抓取 The free dictionary 网站中的 idioms 部分