あっという間の十年ブログ【Ruby篇】

"詮ずるところ#{プログラミング}は、ただ年月長く倦まずおこたらずして、はげみつとむるぞ肝要にて、学びやうは、いかやうにてもよかるべく、さのみかかはるまじきことなり。いかほど学びかたよくても、おこたりてつとめざれば、功はなし。また、人々の才と不才とによりて、その功いたく異なれども、才不才は、生まれつきたることなれば、力に及びがたし。されど、大抵は、不才なる人といへども、おこたらずつとめだにすれば、それだけの功は有る物なり。" - 本居宣長

Twitterアイコンを変えた


前はこんなアイコン(オリジナルキャラクターのイルカ娘です)を使ってましたが、飽きたのでアイコンを変更しました。
そこで自分で絵を書くのはたいへんなのでアイコンジェネレーターの256locksMakerというサービスを使うことにしました。しかしどうやらこのサイトは4000種類ものアイコンを用意しているのに結果が日替わりなので好みのアイコンになかなか出会えないという欠点があります。ところが、僕はあることに気づきました。

名前は自分のTwitterIDでなくてもいい

ということはPerlで4000種類ゲットすればいいじゃない!

use Web::Scraper;
use URI;
use LWP::Simple;

my $scraper = scraper {
	process '#lcolumn #image img', 'src' => '@src',
};

for (1..4000) {
	my $url = URI->new("http://maker-256locks.herokuapp.com/name?name=$_");
	my $res = $scraper->scrape($url);
	my $src = $res->{src};
	my $filename = $_ . '.png';
	print "Download ...$filename\n";
	mirror($src, './icons/' .$filename);
	# 唯一の良心
        sleep(1);
}

これで4000種類ゲットできる!と言いたいところだけど重複画像も取ってきてしまうので残念ながら(4000回のfor文では)コンプリートはできません。といってもそれほど顔のパターンが多いというわけではないのでこれで十分(すぎ)です。

顔の種類(23) * 目の種類(7) * 服の種類(26) = 4186

実際これだけで4000種類越えます。

おまけ(レア?)
カエル顔+カエル服

綾波さん?

(ひどく画質を落としてます:-)