読者です 読者をやめる 読者になる 読者になる

TECHLOGICS

HYLOGICS分室。作業メモやガジェットのレビューなど、主に技術系のエントリを取り扱います。

RSSからノイズを除去する

ruby

以前HYLOGICSに上げたものの焼き直し版です。

はてなブックマークのRSSにフィルタリングをかけて自分用にカスタムする - HYLOGICS

#! /usr/local/bin/ruby

require 'rss'
require 'open-uri'
require 'yaml'

uri = 'http://b.hatena.ne.jp/hotentry/it.rss'
opt = { 'User-Agent' => 'Opera/9.80 (Windows NT 5.1)'}

filter_config_file   = '/var/www/html/public/ng_url_list.yml'
filter_config        = YAML.load_file( filter_config_file )

def ng_feed_remove( ng_list , feed )
  feed.items.delete_if { |item| ng_config.any? { |ng| item.link.match( ng ) } }
  feed.channel.items.Seq.lis.delete_if { |item| ng_config.any? { |ng| item.resource.match( ng ) } }
  return feed
end

feed = RSS::Parser.parse( open( uri, opt ) )
print myfeed = ng_feed_remove( filter_config, feed )

随分シンプルになりました。

ノイズを除去するだけならRSS::MakerでRSS再構成する必要なかったですね。。。次はキーワード除去を実装予定です。

上記で作成したRSSは暫定的に以下で公開します。1時間置きに更新。

http://rss.hylogics.com/hatena_it.xml