AHD 2024 Improve

直接从官网获得的数据算不算最源头的数据?

对的,我现在正在试试直接从官网获得数据怎么样。

沒用歐陸,無法驗證。或許因為跟不同的.css?能湊合著用,我也就接受了,遇到訛誤,隨手改改罷了。但是這官網的字源部份格式頗邋遢,讓人難以領教。

@匿名1651 我不用进官网的服务器拿数据,我直接通过编程的方式发送请求就好,官网服务器自动会把数据发送给我的。

是一样的,我在找出错的原因,为什么官网上的数据显示正常,response里的数据有问题 ,一个个核对太麻烦了。

你第一行的话没什么问题,我现在看的重点是官网上的格式是对的(相对于我们在欧路词典打开mdx时)

第2行的话有问题,我用的ahd.mdx如下,看下图

坛里有 PDF.

这样看,官网是故意把数据弄脏的。这里加了个 span 空字符,那里删了点词。

如果搞不了其他数据的话,不知道老版本 AHD 怎么样,这部分太不可靠了。

如果自己修,word ninja 不仅要处理标签里的纯文本,还要处理渲染后的文本。

我想我找到原因了,大家应该不用一个一个核对了。

问题搞清楚了,我来揭晓答案:

原始的mdx文件应该是有问题,现在出现的众多问题,比如格式有问题,显示不对齐问题,等一切问题,只有你看到的和官网显示的不一致,那就是缺少东西,可能还得再加上mdx的内容不太对,

单纯的一个mdx放在任何一个词典中都会出错(可能的问题是mdx内容不对),尤其会出现格式不对,显示错乱,还需要其他文件,再加上修复mdx每一个词条的内容,才能完全解决错误。

PDF是哪个昵,没搜到

AHD PDF

我也曾这样想。
APP数据显示,出版方显然有格式正确的文本。

盗版这个问题限制不了,请看下图,是我本地跑的样例,除了音标那里有点问题,可能涉及编码问题,其他都正常显示了

1 个赞

所以我才这么自信的给出结论。我已经大概知道什么地方有问题了。

1 个赞

(updated: 删了)

那请你直接指出1楼的mdx哪个内容与官网内容不一致。

這單字的字源部份就有4處沾粘,怎麼說正常?

FromNew Latinaphelium : Greekapo- , apo- + Greekhelios , sun;
當作:
From New Latin aphelium : Greek apo- , apo- + Greek helios , sun;

而且 , 前多一空格。

官網源文件的格式真是很邋遢!

在测试楼主给的词典中,利用楼主给的格式,我自己做了个测试词典,我现在遇到个问题,里面只有3个词目,分别是 aphelionMyTestaphelionTest,把下面这个txt制作成mdx,装在欧路词典中,只能找到 aphelion,其他两个单词找不到,目前还在找原因。

其中两个词目内容如下:

</>
aphelion
<link href="ahd2024.css" rel="stylesheet"><div class="ahd24"><div class="entry" idd="A5381300"><div class="entry-header"><span class="headword">a<span class="sp"></span>phe<span class="sp"></span>li<span class="sp"></span>on</span><span class="audio online" data-src="https://ahdictionary.com/application/resources/wavs/A0362800.wav" onclick="new Audio(this.getAttribute('data-src')).play()"></span> <span class="pron-t">(<span class="minion-new">ə</span>-f<span class="minion-new">e</span><span class="minion-new pua"></span>l<span class="minion-new">e</span>-<span class="minion-new">ə</span>n, <span class="minion-new">a</span>p-h<span class="minion-new">e</span><span class="minion-new pua"></span>-)</span></div><div class="entry_pos"><span class="pos">n.</span><span class="pos">pl.</span> <span class="infl">a<span class="sp"></span>phe<span class="sp"></span>li<span class="sp"></span>a</span><span class="pron-t">(-l<span class="minion-new">e</span>-<span class="minion-new">ə</span>)</span><div class="sense single">The point on the orbit of a celestial body that is farthest from the sun.</div></div><hr align="left" width="25%"><div class="etymon">[From New Latin <i>aph<span class="minion-new">e</span>lium</i> : Greek <i>apo-</i>, apo- + Greek <i>h<span class="minion-new">e</span>lios</i>, sun; see <a href="entry://sāwel-">s<span class="minion-new">ā</span>wel-</a><span class="a"> in the Appendix of Indo-European roots</span>.]</div><div class="image"><img alt=" image of aphelion " class="img" onclick="this.classList.toggle('zoom-out')" src="./application/resources/arts/A5aphelion.jpg"><div class="detail"><span class="title">aphelion</span></div></div></div></div>
</>
</>
MyTest
<link href="ahd2024.css" rel="stylesheet"><div class="ahd24"><div class="entry" idd="A5381300"><div class="entry-header"><span class="headword">a<span class="sp"></span>phe<span class="sp"></span>li<span class="sp"></span>on</span><span class="audio online" data-src="https://ahdictionary.com/application/resources/wavs/A0362800.wav" onclick="new Audio(this.getAttribute('data-src')).play()"></span> <span class="pron-t">(<span class="minion-new">ə</span>-f<span class="minion-new">e</span><span class="minion-new pua"></span>l<span class="minion-new">e</span>-<span class="minion-new">ə</span>n, <span class="minion-new">a</span>p-h<span class="minion-new">e</span><span class="minion-new pua"></span>-)</span></div><div class="entry_pos"><span class="pos">n.</span><span class="pos">pl.</span> <span class="infl">a<span class="sp"></span>phe<span class="sp"></span>li<span class="sp"></span>a</span><span class="pron-t">(-l<span class="minion-new">e</span>-<span class="minion-new">ə</span>)</span><div class="sense single">This is my MyTest</div></div><hr align="left" width="25%"><div class="etymon">[From New Latin <i>aph<span class="minion-new">e</span>lium</i> : Greek <i>apo-</i>, apo- + Greek <i>h<span class="minion-new">e</span>lios</i>, sun; see <a href="entry://sāwel-">s<span class="minion-new">ā</span>wel-</a><span class="a"> in the Appendix of Indo-European roots</span>.]</div><div class="image"><img alt=" image of aphelion " class="img" onclick="this.classList.toggle('zoom-out')" src="./application/resources/arts/A5aphelion.jpg"><div class="detail"><span class="title">aphelion</span></div></div></div></div>
</>

你回复中的红色圈起来的 FromNew 很好处理,也就是你说的 Latin,另外的 Greek 我没看到在哪。

确实,从response看就感觉不好修复。FromNew这种粘连还比较好处理,类似粘的也就不到200处,而且模式很固定。
但像Latin, Greek处的粘连就比较麻烦,如果在所有<i>标签前面直接都加空格就会大量误伤。

image

1 个赞