tokuhirom氏作成のモジュールFurlを使ってみた。
ニコ動の毎時のランキングを 20個分表示するという単純なもの。
まあこんな単純なものではそこまで影響が出るわけでないので
あれですが、LWP::UserAgentのインタフェースみたく使えるから、
LWP::UserAgentのものを差し替えるのは難しくはないと思う。
WWW::Curlを使うという選択肢もあるんだろうけど、あれは
使い方が LWP::UserAgentとは大きく違うんでね。差し替え用と
すると libcurlのサイトみてオプション調べてってしないと
いけないけど、Furlならそんなことはなさそうな感じ。
いろいろと機能を利用とすると違うのかもしれないけどね。
#!/usr/bin/env perl use strict; use warnings; use Furl; use Encode; use XML::RSS::LibXML; my $url = 'http://www.nicovideo.jp/ranking/fav/hourly/all?rss=2.0'; my $furl = Furl->new( agent => 'NicoNicoRSSDownloader', timeout => 10, ); my $res = $furl->get($url); unless ($res->is_success) { die "Can't download $url\n"; } my $decoded = decode_utf8($res->content); my $parser = XML::RSS::LibXML->new; eval { $parser->parse($decoded); }; if ($@) { die "Can't parse RSS : $url\n"; } for my $item (@{$parser->{items}}[0..19]) { my $title = encode_utf8($item->{title}); print $title, "\n"; }
結果
第1位:そんなニコニコ動画流星群で大丈夫か?【エルシャダイ】 第2位:俺の妹がこんなに可愛いわけがない 第7話「俺の妹がこんなに小説家なわけがない」 第3位:ふしぎなくすり かけられて ▼ 第4位:【暴徒】 マトリョシカ 踊っていた 【と暴徒】 第5位:【MAD】 化物語 〜凛として咲く花の如く〜 第6位:「名探偵コナンのキック力増強シューズを作ってみた」前編 第7位:すまたギター 第8位:男3人で Perfume - ねぇ を踊ってみた 第9位:【マトリョシカ×エルシャダイ】マトシャダイ【PV】 第10位:[公式アニメ]カッコカワイイ宣言! 第3話 第11位:五条さん 第12位:【神々のトライフォース】光条の輝、闇条の響! part1【ゼルダの実況】 第13位:どんな判断だww見切りが早いにもほどがあるゴールキーパー 第14位:エロイプでおっさん釣ったら超ナルシストだった♥ 第15位:【MUGEN】大乱闘!強以上際限無しトーナメントPart49【強〜神クラス】 第16位:イーノックが地底に潜りました【東方×エルシャダイ】 第17位:Panty&Stocking with Garterbelt 第12話 トランスホーム 第13話 現金に裸体を張れ 第18位:Until the Bitter End 歌ってみた__ 第19位:起きろ、腹減った 第20位:【ゆっくり実況】Dead Space Level.22
心持ちレスポンスはいいかな。