天然パーマです。

「Mash up Award 3rd」の全応募作品をはてブ数と共に並べてみた

これ☆ほしい」も応募したリクルートとサンが共催している「Mash up Award 3rd」。 募集も締め切り、全応募作品数は合計「193作品」! 公式ページにて全作品の概要を見ることができる。 他にどんなのがあるのかなーと眺めてみるが、さすがに量が多いので見る気がうせた。 せめて、現時点で世間からの評価がいかほどなのか?がある程度わかれば嬉しい。 ということで、かなり偏りはありそうだが「はてなブックマーカー」をその世間とみなし、 「はてなブックマークされた数」と共に作品をリストアップしてみたよ。

すると…。 おお、今のところ、「これ☆ほしい」、MixClipsとAddClipsについで3位だよーーー。 すげー。

リストは手入力なんてことはもちろんせずにさくっとPerlで作った。 Web::Scraper(Perlのモジュール)でコンテスト応募作品一覧のページから タイトル+リンクをスクレイピングして配列に入れる→ Template ToolkitでHTML出力→ はてなブックマーク数を画像で取得するAPI でブックマーク数表示、という具合です。 実は、これも広義の意味でのMashup!

とりあえず、 以下に(鬼長いけど)「Mash up Award 3rd 全応募作品一覧 with はてなブックマーク数」のリストを。 そしてその後に、このリストを生成したPerlのソースを貼っておきます。

Mash up Award 3rd 全応募作品一覧 with はてなブックマーク数

Perlソース : scraping ma3 content lists

 #!/usr/bin/perl

use strict;
use warnings;
use URI;
use Web::Scraper;
use Template;

my $page = 8;
my @links;
my $links = scraper {
        process "td.tcell",
                'links[]' => scraper{
                        process 'a',
                                'title' => 'TEXT', 
                                        'url' => sub { my $u = URI->new($_->attr('href'));
                                         return $u->canonical; };
                };
};

my $num = 1;
while(){
        my $url = sprintf("http://jp.sun.com/mashupaward/entry%s.html",$num);
        my $res = $links->scrape( URI->new( $url ) );
        push(@links, @{$res->{links}});
        last if $num == $page;
        $num ++;
}

my $tt = Template->new;
$tt->process(\*DATA,{links => \@links }) || die $tt->error();

__DATA__
<ul>
  [% FOREACH link = links -%]
  <li>
    <a href="[% link.url %]" alt="[% link.title | html %]" rel="nofollow">
      [% link.title | html %]
    </a>
    <a href="http://b.hatena.ne.jp/entry/[% link.url %]" rel="nofollow">
      <img src="http://d.hatena.ne.jp/images/b_entry.gif" alt="" />
      <img src="http://b.hatena.ne.jp/entry/image/[% link.url %]" alt="" />
    </a>
  </li>
  [% END -%]
</ul>

これ☆ほしいもよろしくね