ニコニコ動画で動画のタグを取得するコードを書いてみた。
ニコニコAPIなんてものがあったんですね。
#!/usr/bin/env/perl use strict; use warnings; use LWP::UserAgent; use Getopt::Long; use XML::XPath; binmode STDOUT, ":utf8"; my %opt; GetOptions(\%opt, 'mail=s', 'password=s'); unless (defined $opt{mail} && $opt{password}) { die "$0 --mail=mail_address --password=password [video_id|uri]\n"; } $ARGV[0] =~ m/(sm\d+)$/ or die "$0 [video_id|uri]\n"; my $video_id = $1; my $ua = LWP::UserAgent->new(keep_alive => 4); $ua->cookie_jar({}); $ua->post("http://www.nicovideo.jp/login", [ mail => $opt{mail}, password => $opt{password}, ]); $ua->get("http://www.nicovideo.jp/watch/$video_id"); my $res = $ua->get("http://www.nicovideo.jp/api/getthumbinfo/$video_id"); my $xp = XML::XPath->new(xml => $res->decoded_content() ); my $nodeset = $xp->find('//tags/tag'); foreach my $node ($nodeset->get_nodelist) { foreach my $child ($node->getChildNodes) { print $child->getValue, "\n"; } }
実行
perl niconico.pl --mail='メールアドレス' --password='パスワード' sm10291047 ゲーム P(ピー) 実況プレイ 実況プレイ動画高速マリオ 覚えゲー 疑惑の判定 無言プレイ