如何抓取 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 词典。 这网站有三份索引,分别是主页的browser(字母索引),查询界面的分词典索引以及总索引(从头开始循环获取),每种获取方式拿到的都不完整。重定向当时有45万+。楼主如果打算重下,可以拿原先的词头生成索引,会比一个个循环快些。 Lynvia 发表于 2021-3-6 12:04
这网站有三份索引,分别是主页的browser(字母索引),查询界面的分词典索引以及总索引(从头开始循环获取 ...
确实如此,主页的browser只有部分词头,分词典索引只包含了非重定向的词头,目前看来只有从头循环再通过底部的full browser来获取完整的索引了,感觉难度有点大。不知道可否分享一下当时抓取时用到的python脚本和索引,想偷点懒{:4_106:}。也不知道最后能不能成功{:4_99:} 本帖最后由 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,能发现英汉大词典一堆毛病呢,按理说缺那么些跳转,根本碍不了勤奋的人 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]