読者です 読者をやめる 読者になる 読者になる

Image::Term256Colorで遊んでみた

perl


githubにあるデモがクールだったので何か面白いことができない
かなと思って試してみた。

コード

モジュールを使ったのではなく、付属のアプリの img2termというのを
使っているだけですが・・・。

#!perl
use strict;
use warnings;

use Web::Scraper;
use URI;
use Furl;

popular_actresses_to_term();

sub popular_actresses_to_term {
    my $limit = shift;
    $limit ||= 3;

    my $url = 'http://www.dmm.co.jp/digital/videoa/-/ranking_all/=/type=actress/';
    my $ranking = scraper {
        process 'td.bd-b > a > img', "actresses[]" => '@src';
    };

    my $res = $ranking->scrape( URI->new($url) );

    my $index = 0;
    my $furl = Furl->new;
    for my $image (@{$res->{actresses}}) {
        my $img_url = $image->as_string;
        my $res = $furl->get( $img_url );
        unless ( $res->is_success ) {
            warn "Can't download $img_url\n";
            next;
        }

        open my $fh, "|-", 'img2term' or die "Can't open img2term";
        print $fh $res->content;
        close $fh;

        last unless ++$index < $limit;
    }
}

実行

初め githubのサンプルを見たとき、単純な絵じゃないと無理だなって思ったん
ですけど、フォントをすごく小さくしたら人の顔でもなんとかなるんじゃない
かなって思って試してみました。その結果が以下のとおりです。
(画像はつぼみです)


ターミナルエミュレータ上にしてはなかなか綺麗にできたんじゃないでしょうか.
なおフォントサイズは 1です。

終わりに

Xがなくても頑張れば画像見れるということがわかりました。
夢が広がりますね。