海词客户端简化版
嫌在浏览器里用海词太麻烦,写了个Perl脚本来提取单词的解释。使用时把单词通过参数送进去就OK了。支持词组。查无此字时理论上不会有输出。
没有使用任何“高级”技术。通过LWP模块把网页弄下来,找到解释所在的位置,通过正则表达式提取出来就差不多了。本来想连例句一起弄出来,但只能做到一条例句的情况,如果例句多了只能显式第一条。如何完美的显式所有例句,还需要再想办法。
#!/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 =~ /(.*)/) {
$_ = $1;
s/
/\n/g;
print encode("utf8", $_) . "\n";
}
注:发芽网导出的HTML似乎和我的blog有点冲突,因此上面的代码有些许不正常,请上发芽网上看正确的代码。