めめめ

たまに書くメモです

HuginnでRSSをフィルタリング

無理してHuginn使ってる感出てきた。

ハロメン増えすぎてハロプロソートも重労働。
ブログ記事多すぎ問題を解消するために、見たいハロメンだけにフィルタリングした上で記事内の画像付きで一つのフィードにまとめて吐き出す。

Rss Agent

モーニング娘。のアメーバIDに統一感がないの腹立つ。

{
  "expected_update_period_in_days": "5",
  "clean": "false",
  "url": [
    "//feedblog.ameba.jp/rss/ameblo/morningmusume-9ki/rss20.xml",
    "//feedblog.ameba.jp/rss/ameblo/morningmusume-10ki/rss20.xml",
    "//feedblog.ameba.jp/rss/ameblo/mm-12ki/rss20.xml",
    "//feedblog.ameba.jp/rss/ameblo/morningm-13ki/rss20.xml",
    "//feedblog.ameba.jp/rss/ameblo/c-ute-official/rss20.xml",
    "//feedblog.ameba.jp/rss/ameblo/angerme-ayakawada/rss20.xml",
    "//feedblog.ameba.jp/rss/ameblo/angerme-amerika/rss20.xml",
    "//feedblog.ameba.jp/rss/ameblo/angerme-ss-shin/rss20.xml",
    "//feedblog.ameba.jp/rss/ameblo/juicejuice-official/rss20.xml",
    "//feedblog.ameba.jp/rss/ameblo/countrygirls/rss20.xml",
    "//feedblog.ameba.jp/rss/ameblo/kobushi-factory/rss20.xml",
    "//feedblog.ameba.jp/rss/ameblo/tsubaki-factory/rss20.xml"
  ]
}

Trigger Agent

ほとんどの記事のタイトルに名前入ってるんでそれでフィルタリング。
valueに読みたいメンを。
keep_eventはtrueに。

{
  "expected_receive_period_in_days": "2",
  "keep_event": "true",
  "rules": [
    {
      "type": "regex",
      "value": [
        "譜久村聖",
        "小田さくら",
        "尾形春水",
        "野中美希",
        "宮本佳林",
        "嗣永桃子",
        "ももち",
        "山木梨沙",
        "森戸知沙希",
        "小関舞",
        "船木結",
        "梁川奈々美"
      ],
      "path": "title"
    }
  ]
}

Website Agent

記事内の画像入れたいので。

{
  "expected_update_period_in_days": "2",
  "url": "{{url}}",
  "type": "html",
  "mode": "merge",
  "extract": {
    "imgurl": {
      "xpath": "/html/head/meta[@property='og:image']",
      "value": "@content"
    }
  }
}

Data Output Agent

secretsはhogehoge.herokuapp.com/users/1/web_requests/22/a-secret-key.xmlみたいになるんで好きなように。

{
  "secrets": [
    "a-secret-key"
  ],
  "expected_receive_period_in_days": 2,
  "template": {
    "title": "H!P Feed",
    "description": "generated by Huginn",
    "item": {
      "title": "{{title}}",
      "description": "<img src='{{imgurl}}'><br>{{ description | replace: '<p>『著作権保護のため、記事の一部のみ表示されております。』<\/p>\n\n<\/p>' ''}}",
      "link": "{{url}}",
      "pubDate": "{{date_published}}"
    }
  },
  "ns_media": "true"
}

おわり

できたらFeedlyとかSlackのRSS Integrationsとかに登録すればいい。