嫌在浏览器里用海词太麻烦,写了个Perl脚本来提取单词的解释。使用时把单词通过参数送进去就OK了。支持词组。查无此字时理论上不会有输出。
没有使用任何“高级”技术。通过LWP模块把网页弄下来,找到解释所在的位置,通过正则表达式提取出来就差不多了。本来想连例句一起弄出来,但只能做到一条例句的情况,如果例句多了只能显式第一条。如何完美的显式所有例句,还需要再想办法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #!/usr/bin/perl -w use utf8; use Encode; use LWP::Simple; if ($#ARGV == 0) { $word = $ARGV[0]; } else { $word = shift @ARGV; foreach $arg (@ARGV) { $word .= "-" . $arg; } } my $url = "http://dict.cn/" . $word . ".htm"; my $content = decode("gbk", get $url); @lines = split /\n/, $content; $meaning = $lines[79]; if ($meaning =~ /<strong>(.*)</strong>/) { $_ = $1; s/<br \/>/\n/g; print encode("utf8", $_) . "\n"; } |
注:发芽网导出的HTML似乎和我的blog有点冲突,因此上面的代码有些许不正常,请上发芽网上看正确的代码。
《海词客户端简化版》有3条评论