1

こんにちは、Facebook ファンページにフィードするための Yahoo パイプを構築しています。写真をストリーミングする RSS フィードがたくさんあり、出力を 1 時間あたり 1 つの写真に制限したいと考えています。しかし、私はパイプがまったく初めてで、わかりやすいチュートリアルが見つかりません。パイプはこんな感じ

RSS1   RSS2 ... RSSn
  |      |       |
  +-----UNION----+
         |
     PIPE OUTPUT
4

1 に答える 1

0

次のアルゴリズムを使用してそれを行うことができます。

  1. 時間に切り捨てられた日付を含む新しいフィールドを作成します
  2. この新しいフィールドでUnique演算子を使用して、1 時間に 1 つのアイテムのみを取得します

次のようなパイプを使用してこれを実装できます。

  1. パラメータを指定してRenameオペレータを使用しpubDateて、たとえば にコピーします。datepart

    • item.pubDate
    • 名前を付けてコピー
    • datepart
  2. パラメータを指定して正規表現演算子datepartを使用してTruncateを実行します。

    • =item.datepart
    • =を置き換えます^(.{13}).*
    • =$1

    つまり、日付フィールドはYYYY-mm-DDTHH:MM:ssZ、最初の 13 文字を取得して時間までの日付部分を取得し、残りを破棄するように表現されるためです。たとえば、pubDateだった場合、 が2013-11-03T13:34:37得られ2013-11-03T13ます。

  3. Unique演算子に基づいてアイテムitem.datepartをフィルタリングする

yahoo-pipes簡単なデモとして、 stackoverflow でタグ付けされた 1 か月あたり 1 つの質問を表示するパイプをまとめました。

http://pipes.yahoo.com/pipes/pipe.info?_id=72fea3931e145324f308f0d5f6852d93

これらの要素を配置する場所に応じて、異なる結果が得られることに注意してください。たとえば、このロジックをユニオンの後に配置して、すべてのソース フィードを組み合わせて 1 時間に 1 つの画像を取得できます。または、ユニオンの前にこのロジックを配置して、フィードごとに 1 時間に 1 つの画像を取得することもできます。

また、1 時間に複数の画像がある場合、どの画像が選択されるのでしょうか? 最初の1つ。デフォルトの順序はpubDateによるものだと思います。Yahoo Pipes に別の項目を選択させるには、適切なSort演算子をUniqueの前に挿入します。

于 2013-11-04T15:08:40.480 に答える