RSSフィードURLの取得(Feed::Find)

ここでは、Feed::Findモジュールを使ってRSS/RDFのURL(URI)を取得する方法を説明します。

フィード取得サンプル

以下に単純なRSSフィードURL取得サンプルを示します。


#!/usr/bin/perl

use Feed::Find;

# ここを変更して下さい
@list = Feed::Find->find('http://www.geekpage.jp/');

foreach $tmp (@list) {
  print $tmp;
  print "\n";
}

exit;

上記サンプルでは、Feed::Findのfindを使ってHTTPでWebページを取得し、中に記述されているフィードへのURLを取得しています。 Feed::Find->findの返り値は、発見したフィードURLのリストです。

Feed::Findは、最初にHTML文書内の<HEAD>部分から<LINK>を探します。 <LINK>のContent-Typeが、application/x.atom+xml、application/atom+xml、application/xml、text/xml、application/rss+xml、application/rdf+xmlであるものはフィードであるとみなされます。

<HEAD>部分で一つも要素が発見できなかった場合、Feed::Find->findはHTML本文を検索します。 本文中で、<A>タグが示すリンク先の拡張子が .rss、.xml、.rdf になっているものがフィードとみなされます。 (ただし、これは<HEAD>に何もない時だけ発動するようです)

IPv6基礎検定

YouTubeチャンネルやってます!