Sat, 22 Nov 2003



Monday Module -HTML::LinkExtor[# ]edit

naoyaさんとこで始まったMonday Module にちと興味本位で参加。 kyoさんとこのをちと自分だったらyahooムービーの予告編映像をプレイリストにしたいなと思って作成。 プレイリスト部分,URL変えただけの話なので手抜きそのものw


#!/usr/local/bin/perl

# Monday Module: HTML::LinkExtor
# 
# Naoto ( run@main.jp )
# 2003/11/22 作成

use strict;
use HTML::LinkExtor;
use LWP::Simple;


my $target = "http://movies.yahoo.co.jp/m1?ty=vg";

# 56k 100k,300k,1mの帯域を設定。
my $bandwidth   = "1m";

# コマンドラインからも入力可能とする
$bandwidth = shift if @ARGV;

my $content = LWP::Simple::get($target);

# リンク抽出
my @urls;
my $parser = HTML::LinkExtor->new(\&callback, $target);
sub callback {
  my($tag, %links) = @_;
  if ($tag eq "a") {
    push(@urls, values %links);
  }
}

$parser->parse($content);

#重複を消す(kyoさんのパクリ)
my %count;
@urls = grep(!$count{$_}++, @urls);
# Windows Media Playlistを出力(kyoさんの流用)
print <<"_WPL_";
<?wpl version="1.0"?>
<smil>
\t<head>
\t\t<meta name="Generator" content="yahoo.pl"/>
\t\t<author/>
\t\t<title>Yahoo 映画 予告編</title>
\t</head>
\t<body>
\t\t<seq>
_WPL_

foreach my $url (@urls) {
  if ($url =~ /$bandwidth/) { 
  	$url =~ s!&!&!;
  	print qq!\t\t<media src="$url"/>\n!;
  }
}

print <<"_WPL_";
\t\t</seq>
\t</body>
</smil>
_WPL_

exit;

 予告編が帯域別に準備されているので選択できるようにしたくらいですが。動画コンテンツ,音楽コンテンツの収集というのは便利かなと思い始めています。タイトル+動画・音楽コンテンツへのリンクですかね。より使いやすい形は。 NHKとかニュース映像配信してるところでリンクを抜けばニュース映像リストとか作れるとか。 まあネタとしては広がる気がします。

(追記) ここのを拾うようにすれば上記はできるかな。ニュース垂流し。

カテゴリ/script | |


Outside of mind

About this web
NaotoBlosxomを使って適当に更新するサイト。別サイトINTO THE WORLD管理者。

Ama

awsxomlist

category

Archives

[ 2005 ]
08 /
[ 2004 ]
01 / 02 / 03 / 04 / 05 / 06 /
[ 2003 ]
11 / 12 /