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

Rule::DedupedがURLと日付しか見てなかった件

plagger

Plagger::Rule::Dedupedまわりのソースを見たら,Filter::RuleでDedupedを用いる場合,重複チェックのキーがエントリのURL(日付が存在する場合はURLと日付の連接)になっていることが分かった。

Ω ΩΩ<な、なんだってー!!!

いや、実はmodule: Dedupedを使った場合サイトによっては上手くいってなくて(なぜか全削除される)、多分assetsの書き方が悪いんだろうなーと思ってたのですが。つまり少なくとも日付は取得しないとダメってことかな。安直に

extract: <!-- ここから -->(.*?)<!-- ここまで -->
extract_capture:body

こうやってbodyだけ取得するのはよろしくないと。

近日中にうちの野良assetsは書き直しますが、もし使ってくれてる人がいたら申し訳ないです…。それまでは、とりあえずmodule: Freshで。

追記

miyagawaさんからご指摘がありまして(いつもすみません)、URLを再利用しているような場合はオプションのcompare_bodyを使った方が良いそうです。

   - module: Filter::Rule
     rule:
      module: Deduped
      compare_body: 1

この場合、エントリ(ページ)の内容が変更されると再度送られます。