图是HTML+JS的
数据可以很直接的抓出来- use utf8;
- use Encode;
- use File::Slurp;
- use Mojo::UserAgent;
- use URI::Escape;
- use JSON qw/from_json to_json/;
- STDOUT->autoflush(1);
-
- my $word = "command";
- my $url = "http://dict.cn/${word}";
- my $ua = Mojo::UserAgent->new();
- my $res = $ua->get($url)->result;
- my $json = $res->dom->at(".dict-chart")->attr("data");
- my $data = from_json(uri_unescape($json));
-
- if ( scalar keys %$data == 1 )
- {
- printf "%2s%% %s\n", $data->{1}{percent}, gbk($data->{1}{pos});
- }
- else
- {
- for my $k ( sort keys %$data )
- {
- printf "%2s%% %s\n", $data->{$k}{percent}, gbk($data->{$k}{sense});
- }
- }
-
- sub gbk { encode('gbk', $_[0]) }
复制代码
- 74% 命令
- 21% 指挥
- 4% 掌握
- 1% 博得
复制代码
|