Hatena::Groupperlmemo

Perlメモ

2008年09月18日 より開始
最新5件(RSS 2.0)
古いモジュールの更新

Plagger(Fedora10)
Plagger(Ubuntu9.04)

CPAN::Mini

Remedie(Ubuntu 9.04、Vine4.9(5α)、Fedora11Preview)
Remedie(Fedora10) 見れたサイトまとめ
編集

2008-09-21

新着日記名と最新エントリーのタイトルを表示 faviconも表示

| 新着日記名と最新エントリーのタイトルを表示 faviconも表示 - Perlメモ を含むブックマーク はてなブックマーク - 新着日記名と最新エントリーのタイトルを表示 faviconも表示 - Perlメモ 新着日記名と最新エントリーのタイトルを表示 faviconも表示 - Perlメモ のブックマークコメント

ちょっと時間かかりますが。(RSSにタイトルが入ってないので1つ1つ取得するため)

$ sudo yum install "perl-XML*"

#!/usr/bin/perl
use strict;
use LWP::Simple;
use XML::RSS;




print "Content-type: text/html\n";
print "\n";
print "<html>\n";
print "<head>\n";
print '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">' . "\n";
print "<title>rss</title>\n";
print "</head>\n";
print "<body bgcolor=\"#ffcccc\">\n";



#my $url = 'http://d.hatena.ne.jp/naoya/rss';
#my $url = 'http://perlmemo.g.hatena.ne.jp/fedora9/rss2';
my $url = 'http://d.hatena.ne.jp/diarylist?mode=rss';  #新着日記一覧rss(URL)
my $document = LWP::Simple::get($url) or die
"cannot get content from $url";


my @diaryurl;

my $rss = XML::RSS->new;
$rss->parse($document);
for(@{$rss->{items}}) {
  push(@diaryurl, $_->{link});  #linkタグ取得 @diaryurl へ(itemの下のlink)
}


foreach(@diaryurl) {

    /.+jp\/(.+)\//;  #http://d.hatena.ne.jp/sample/  のうち sample が $1 に入る。 jp/ と / の間
    my $username = $1;

    my $foldername = substr($username, 0 , 2);  # sample のうち sa。0文字目から2文字

    my $profile =  'http://www.hatena.ne.jp/users/' . $foldername . '/' . $username . "/profile_s.gif";
    print '<img src="' . "$profile" . '">';


    
    my $rssurl = $_ . "rss2";  #日記のrss(URL)

    my $document2 = get($rssurl);
    
    my $rss2 = XML::RSS->new;
    $rss2->parse($document2);



    my $channel = $rss2->{channel};

    print '<a href="' . $_ . '" target="_blank">' . $channel->{title} . '</a>';  #日記名とリンクを表示
    #print $channel->{title};  #日記名

    for(@{$rss2->{items}}) {
    	print $_->{title} , "<br>\n";  #1つめタイトル取得  表示(itemの下のtitle)
        last;  #ループを抜ける
    }
    print "<br>\n";

}


print "</body>\n";
print "</html>\n";

Perlモジュール活用 RSS編 RSS解析はXML::RSSにおまかせ - [CGI・Perl]All About  リンク切れ


はてなダイアリー - 新着日記一覧