TA的每日心情 | 开心 2019-8-21 08:44 |
---|
签到天数: 163 天 [LV.7]常住居民III
|
发表于 2019-5-11 13:24:04
|
显示全部楼层
本帖最后由 mikeee 于 2019-5-11 13:33 编辑 ( {4 G- y" Q4 Q/ z
" d% \" Z3 p) r, v
先给答案:用 css选择器 .phmk,.phrase,.table$ j! k1 l. b! M8 Y+ t% P# n
2 Y# c+ r1 h. Z# R( Q$ V6 i
验证方法。 先将以下代码(楼主给出的mdict/html码)存为html文件,例如 phrases-idioms.html
, {7 ~" p& }- a% ?$ e* J- <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>
复制代码 ' c2 }% k! [/ `% _
1 X& E7 `" o" a3 c: ~
再用Chrome打开 phrases-idioms.html (一般双击 phrases-idioms.html即可。也可用其他浏览器,基本思想一样)。再调出 devtools (Chrome里右键选 Inspect或ctl-shift-I)。在devtools选定 Elements标签。在Elements标签按 ctrl-f,在跳出的搜索栏里键入 .phmk,.phrase,.table% ]. s; }$ s& \: o' \3 ^4 t
" u; o" |' F R% l
结果大致如下图
% l$ }% h% @: e: m+ v: S% {: O5 s* o5 M& u

9 e8 M5 j2 F0 y; |3 ]; {+ T' J6 f
4 w0 Z$ d* m- L! B) X/ X/ x! N/ k' s可以看到 css选择器 .phmk,.phrase,.table 找到网页里的三个元素。
4 y, @" [% u: g
: |' g6 n0 O/ x, C: Q" Z. ?至于如何提出对应的三个元素有许多办法,python里可用 pyquery, node/js里可用 cheerio/jquery,其他编程语言也都应该有包可用。) {: y( Q6 @* G: C! x9 c
* t9 n. \" t2 L
python的话可直接用 readmdict 直接从 mdx 文件逐个读出每个词头的内容再用 pyquery + css选择器 进行处理, 内存足迹极小。顺便提一句,正则要处理这种东西也并非不可能但怕是会力不从心,不信可以试试 |
|