2010-04-13
■ [WWW::YouTube::Download][ダウンロード][YouTube]WWW::YouTube::Download使ってみた
![[WWW::YouTube::Download][ダウンロード][YouTube]WWW::YouTube::Download使ってみた - ishiducaの日記 のブックマークコメント [WWW::YouTube::Download][ダウンロード][YouTube]WWW::YouTube::Download使ってみた - ishiducaの日記 のブックマークコメント](http://r.hatena.ne.jp/images/popup.gif)
にひりずむ::しんぷる:WWW::YouTube::Download 0.13 released
「実装がとってもシンプルに!」を実感。
$ perl youtubepl video_id
このvideo_id は、例えば http://www.youtube.com/watch?v=yxYRJEeN6Gg のyxYRJEeN6Gg の部分。コピー&ペーストが楽ですね。
youtubepl
#!/usr/bin/perl use strict; use warnings; use WWW::YouTube::Download; $ARGV[0] or die "Usage: $0 video_id\n"; my $video_id = $ARGV[0]; my $client = WWW::YouTube::Download->new; my $title = $client->get_title($video_id); my $fmt = $client->get_fmt($video_id); my %ext = ( 0 => 'flv', 34 => 'flv', 6 => 'flv', 35 => 'flv', 18 => 'mp4', 22 => 'mp4', ); print qq(Now Download "${title}.$ext{$fmt}"\n); $client->download($video_id, { file_name => "${title}.$ext{$fmt}", }); exit 0;
fmtの数値はトーテムポーる YouTubeのfmtの種類のまとめを参照しています。(記事にあるけど2008年11月26日現在ってあるので変わっているかもしれません)
***
追記 2010.04.13
fmtを選択できるように少し手直しした
youtube2pl
#!/usr/bin/perl -s use strict; use warnings; use WWW::YouTube::Download; our($h, $code); my $usage =<<"USAGE" Usage: $0 [-h] -h: help Usage: $0 [-code=0|34|6|35|18|22|37] video_id -code : 0|34| 6|35 is flv 18|22|37 is mp4 USAGE ; $h and print $usage and exit 0; $ARGV[0] or die $usage; my $video_id = $ARGV[0]; my $client = WWW::YouTube::Download->new; my $title = $client->get_title($video_id); my $fmt = $code ? $code : $client->get_fmt($video_id); my %ext = ( 0 => 'flv', 34 => 'flv', 6 => 'flv', 35 => 'flv', 18 => 'mp4', 22 => 'mp4', ); print qq(Now dowonload "${title}.$ext{$fmt}"\n); $client->download($video_id, { file_name => "${title}.$ext{$fmt}", fmt => $fmt, }); exit 0;
例えば、fmtが 34 のものを 22 に変更するときは
$ perl youtube2pl -code=22 yxYRJEeN6Gg
コメントを書く
トラックバック - http://perl.g.hatena.ne.jp/ishiduca/20100413