M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2005年2月25日 01:41

特定RSSから特定URIのアイテムを除去するCGI

このエントリーをはてなブックマークに追加 mixiチェック

特定のRSSから、特定の URI(CGI埋め込みです)のアイテムを除去します。

Usage:

http://example.org/cgi-bin/rj.cgi

はてなブックマークで「DTP」というキーワードで検索した結果(URI は CGI埋め込みです)から、http://cl.cocolog-nifty.com(URI は CGI 埋め込みです)を含む記述を除きます。example.org は当然架空のドメインなので自分で設置したドメインへ読み替えること。

REDHAT 9 で動作確認済み。

#!/usr/bin/perl
 
 
# rj.cgi - 特定の URI のアイテムを除去します。
# 参考にした↓
# http://allabout.co.jp/career/cgiperl/closeup/CU20050131A/
#
# 2005.02.18 v0.1    初版
 
use strict;
use LWP::Simple;
use XML::RSS;
 
 
#my $url = $ENV{QUERY_STRING};
my $url = 'http://b.hatena.ne.jp/keyword/DTP?mode=rss';
my $data_from_web = get($url);
 
# XML::RSSを使う準備。
my $rss = new XML::RSS;
 
 
# WEBから取得したデータを解析。
$rss->parse($data_from_web);
#$rss->parsefile('./DTP.xml');
 
 
# アイテムリストのリファレンス
my $item_list = $rss->{'items'};
my $list;
my $i = 0;
 
# リストの各データを順に処理。
# 各データは、アイテム情報を保存したハッシュへのリファレンス
 
foreach my $item ( @{$item_list} ) {
  # リファレンスから値を出力
  if ( $item->{'link'} !~ m#http://cl.cocolog-nifty.com.*$# ){
  $list->[$i++]=$item;
  }
}
 
$rss->{'items'}=$list;
print "Content-Type: Application/xml\n\n";
print $rss->as_string;
 

注意:

どっちかというとこのエントリは、自分用メモみたいなもんです。

投稿 大野 義貴 [RSS] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/831

コメントする