海词客户端简化版

嫌在浏览器里用海词太麻烦,写了个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条评论

发表评论

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