※Yahoo!Pipesは2015年にサービス終了しました。
Filterモジュールを使用すると、RSSフィードに独自のフィルターをつけることが可能になります。
特定のフレーズを含んだフィードのみを出力したり、正規表現を用いて不要なフィードを除外したりできます。
禁止ワードを指定して、不要なフィードを除外する
今回は、Yahoo!知恵袋のSNSカテゴリのRSSフィードにフィルターをつけてみようと思います。
リンク先にある「RSS」と書かれているアイコンを右クリックして、リンクのURLをコピーします。
「Sources」から「Fetch Feed」をドラッグして、URLに先ほどコピーしたRSSのURLを貼り付けます。
「Operators」から「Filter」をドラッグして、「Fetch Feed」と「Filter」をドラッグしてつなぎます。
Filterモジュールに値を入力していきます。
最初の行にあるプルダウンメニューは、以下のように指定します。
[Block] items that match [any] of the following
1つ目のプルダウンメニューでは、「Block(禁止)」か「Permit(許可)」を指定します。
2つ目のプルダウンメニューでは、「all(すべて)」または「any(いずれか)」の条件にマッチさせるかを指定します。条件を複数指定する場合に効果があります。ここでは、条件を1つしか指定していないので、どちらを指定しても結果は同じです。
Rulesは以下のように指定します。
item.description [Matches regex] 禁止ワード1|禁止ワード2|禁止ワード3…
Rulesの1つ目のテキストフィールドには、「item.title」または「item.description」を指定します。RSSフィードの「タイトル」にマッチさせるか、「内容」にマッチさせるかを決めます。
プルダウンメニューには、「Matches regex」を選択します。regexは、正規表現を意味しています。といっても今回使う正規表現は「|」だけです。「|」は、「または」を意味する正規表現です。これを使うと、1つのテキストフィールドで複数のフレーズを指定できるので便利です。
2つ目のテキストフィールドには、禁止ワードを必要な分だけ入力して、それらのワードを「|」でつなぎます。ここでは、性表現や罵倒表現を入力しています。禁止ワードは、ニコニコ生放送:運営NGワード一覧を参考にしました。
最後に、FilterとPipe Outputをドラッグでつなぎます。名前は「知恵袋 – SNS[Block]」としました。「Save」で保存すれば完了です。「Run pipe」をクリックして確認してみましょう。
許可ワードを指定して、必要なフィードのみを出力する
続いて許可ワードを利用したフィルターを作ります。先ほど作ったPipesを再利用するので「Save a copy」をクリックします。
タイトルの先頭が「Copy of ~」になっていることを確認したら、Filterモジュールの値を変更します。
[Permit] items that match [any] of the following
item.title [Contains] facebook
item.title [Contains] フェイスブック
プルダウンメニューに「Contains」を使ってみました。「Contains」は「含む」という意味です。「Matches regex」で「facebook|フェイスブック」と指定すれば同じ条件になります。
2つ目のプルダウンメニューには、「any」を指定しているので2つの条件のうちいずれかにマッチするフィードを出力します。もし「all」を指定したら、すべての条件にマッチしなければならないので、フィードが1つも出力されません。
入力が完了したら、右上の「Properties…」をクリックして、名前をリネームしましょう。最後に「Save」をクリックして保存すれば完了です。
コメント