はてなブックマークタグ集計ランキング
はてなブックマークのタグを集計してランキング表示する。
404 Blog Not Found:最近のはてブで流行している7つのタグをそのまま真似て書いてみた。
#!/usr/bin/perl use strict; use warnings; use HTML::LinkExtor; use XML::LibXML; use Encode; my $url = shift; my %entry; sub get_verbosely{ use LWP::Simple; my $uri = shift; my $nonl = shift; return get($uri); } my $content = get_verbosely($url); HTML::LinkExtor ->new(sub{ my($tag, %link_of) = @_; return if $tag ne 'a'; for my $attr (keys %link_of){ next if $attr ne 'href'; next if $link_of{$attr} !~ m{^/entry/}; my $uri = $link_of{$attr}; $uri =~ s,^/entry/,http://,o; $entry{ $uri }++ } })->parse($content); my %keywords; for my $uri (keys %entry){ my $rss_uri = "http://b.hatena.ne.jp/entry/rss/" . $uri; my $con = get_verbosely($rss_uri, 1); my $tag = ($con =~ s{ <dc:subject>(.*?)</dc:subject> } { $keywords{ encode('utf-8', lc($1)) }++ }egx ); print STDERR "$tag keywords found\n"; } my $order = 0; for my $k (sort {$keywords{$b} <=> $keywords{$a}} keys %keywords){ printf "%2d\t%4d\t%s\n", ++$order, $keywords{$k}, $k; }