2004年10月18日

MLへの新着メールのrssでの情報提供(その4)

rssを生成するスクリプト。
ほぼ頂き物そのままで、順番をいじっただけに近い(^^;

まずはテンプレート

<HTML>
[% ... %]
<TITLE>[% title %]</TITLE>
[% ... %]
<li><em>Date</em>: [% doc %]</li>
[% ... %]

perlスクリプトの方。
元の作者に敬意を表して、ttrss-multi.plと名付けた。

#!/usr/bin/perl
# ttrss-multi.pl - Generate feed from a site which is grabbable with Template::Extract.
# 
# usage: perl ttrss-multi.pl example.tt http://www.example.com/ http://www.dada.com/
# 
# 2004.01.11 Naoya Ito 
# 2004.10.17 Hisaki Shibata 
use strict;
use warnings;
use LWP::Simple;
use Template::Extract;
use XML::RSS;
use FileHandle;
use URI;
 
#if (@ARGV < 2) {
#    print STDERR "usage: $0 <template> <url> [<url>]\n";
#    exit(1);
#}
 
eval {
    local $/; # read from file at once
    my $fh = FileHandle->new( shift ) or die "cannot open template: $!";
    my $template = $fh->getline;
    $fh->close;
    my $obj = Template::Extract->new;

    my $rss = XML::RSS->new;
    $rss->channel( title => "search luky.org rss service.",
		   link  => "http://search.luky.org/index.rdf",
		   description => "search.luky.org Linux related New coming ML posts.");
    my $count = @ARGV ;
    print STDERR $count;
    while($count--){
        my $uri = URI->new( shift );
        my $document = LWP::Simple::get($uri);
        my $ext = $obj->extract( $template, $document);
	$rss->add_item(
	title => $ext->{title},
	    link  => URI->new_abs($ext->{link}, $uri),
	    description => $ext->{doc},
	);
    };
    print $rss->as_string;
}; if (my $err = $@) {
    die;
}

上記のスクリプトをshellでくるんで

perl /hoge/ttrss-multi.pl /hoge/mhonarc.tt `cat /hoge/rdfargs.txt|xargs` > /hogehoge/index.rdf
みたいな感じで動かす。
#shell内では、もっとごそごそやってますけど。

投稿者 his : 2004年10月18日 03:30
このエントリーのトラックバックURL: http://hoop.euqset.org/blog/mt-tb2006.cgi/718
seach.luky.org/index.rdf をテスト
概要 seach.luky.org/index.rdf をMovableTypeのMTRSSFeedプラグインで表示できるかのてすと。 師匠!とりあえずデータ取れましたが、文字化けしております。(泣 ちなみにこのサイトはUTF-8です。 " target="news"> " target="news"> | Update :...
ウェブログ: The T World
時刻: 2004年10月20日 01:35
メモリ使い切り
概要 なんだか、apacheや各種プロセスがkillされていた。 /var/log/messagesをみると、 Oct 28 18:00:16 his kernel: __alloc_pages: 0-order allocation failed (gfp=0x1d2/0) Oct 28 18:01:25 his kernel: VM: killing process apache Oct 28 18:01:25 his kernel: __alloc_...
ウェブログ: shibata(hi) shokudou
時刻: 2004年10月29日 01:31
コメント

よろしくおねがいします。

Posted by: 中年のメル友 : 2009年12月 4日 17:53
コメントする









名前、アドレスを登録しますか?





画像の中に見える文字を入力してください。