海词客户端简化版

嫌在浏览器里用海词太麻烦,写了个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 =~ /<strong>(.*)<\/strong>/) {
    $_ = $1;
    s/<br \/>/\n/g;
    print encode("utf8", $_) . "\n";
}

注:发芽网导出的HTML似乎和我的blog有点冲突,因此上面的代码有些许不正常,请上发芽网上看正确的代码。

One thought on “海词客户端简化版

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据