特定RSSから特定URIのアイテムを除去するCGI
スポンサードリンク
特定の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;
注意:
- デバッグしていない
- 迷惑かからないところで使用してね
- ブラックリスト・ホワイトリスト方式にするときな臭いみたい [slashdot.jp](ネタ)
- つうかこんなのビジネス blog で使うなら汎用性もたせない方が安全です。
どっちかというとこのエントリは、自分用メモみたいなもんです。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/831
コメントする