Plagger CustomFeed::YouTube patch
Plagger を trunk から更新して、CustomFeed::YouTube.pm を試してみたら全然うまく動きませんでした。調べてみると、どうも YouTube の HTML が変わっているみたい。
とりあえず YouTube の HTML とにらめっこして CustomFeed::YouTube.pm を修正し、なんとなく動くようになりました。
下に patch を書いておきます。
@@ -53,7 +53,7 @@
my (@videos, $data, $title_flag, $tag_flag);
while (<$fh>) {
# get title
- m!<div class="title">!
+ m!<div class="vtitle">!
and $title_flag = 1;
m!<a href="/watch\?v=([^&]+)&search=[^>]+">(.+)</a>!
and do {
@@ -63,13 +63,13 @@
$title_flag = 0;
}
};
- m!<img src="(http://[\w-]*static\d+(.[\w-]+)?\.youtube.com/[^">]+/1.jpg)" class="vimgSm" />!
+ m!<img src="(http://[\w-]*static\d+(.[\w-]+)?\.youtube.com/[^">]+/1.jpg)" class="vimg90" />!
and $data->{image}->{url} = $1;
- m!<div class="desc">(.*)</div>!
+ m!<div class="vdesc">(.*)</div>!
and $data->{description} = $1;
- m!<td><span class="grayText">Tags:</span></td>!
+ m!<div class="vtagLabel">Tags:</div>!
and $tag_flag = 1;
- m!(<td><a href="/results\?search=.*)!
+ m!(<a href="/results\?search=.*)!
and do {
if($tag_flag){
$data->{tags} = $1;
yaml は
global:
(snip...)
plugins:
- module: CustomFeed::YouTube
config:
query: plagger
sort: video_date_uploaded
page: 3
# - module: Filter::FetchEnclosure
# config:
# dir: /foo/bar
- module: Publish::Gmail
config:
(snip...)
といった感じで。Filter::FetchEnclosure を使っての flv のフェッチもできました。
【2006/7/17 追記】
既に trunk に反映していただいたとのことですが、遅ればせながら mizzy さんのエントリに trackbackさせていただきました。
7月 14th, 2006 at 12:31:36
CustomFeed::YouTube もいいんですが、CustomFeed::Simple と Filter::FindEnclosures でやるほうがオススメです。
http://subtech.g.hatena.ne.jp/miyagawa/20060519/1148034787
7月 14th, 2006 at 13:09:39
miyagawa さん、わざわざご指摘ありがとうございます。早速帰宅したら記事を参考にして試してみたいと思います。
7月 16th, 2006 at 23:11:39
パッチありがとうございます。本家 trunk に適用しました。
http://plagger.org/trac/changeset/1093
今後パッチやご意見などある場合には、メールや trackback などでお知らせ頂けるとこちらとしてもとてもありがたいです。(見逃すことがなくなりますので。)
7月 17th, 2006 at 8:08:16
mizzyさん、trunk適用ありがとうございます。
>メールや trackback などでお知らせ頂ける
>とこちらとしてもとてもありがたいです
plagger.org – trac の Plagger Committer Guidelines を見て、会社からMLもIRCも利用できないのでとりあえず del.icio.us には登録したのですが、その後の対応を忘れてしまってました。mizzyさんのところにもtrackbackしておけばよかったですね。すみません。m(_,_)m