RSSでサイト更新をチェックに関するメモ

RSS自体はサイトやブログなどの更新チェックで使える仕組みで、RSSリーダーとして知られています。ここでは、ではRSSフィードを作ってそれをチェックしたいニーズについてです。

これは要するに「サイト更新チェック」を「自分の任意タイミング」で行いたいということで、その時に「RSS」という仕組みが使えないかという視点で考える人がいるわけですね。

そのあたりをざっと調べてみました。

RSSを用いて自分の任意タイミングでサイト更新チェックはできるか

結論として、「任意」では出来ないです。

任意とは欲しい時間でチェックするなら自前でプログラムを書くか、更新頻度(サービス側の)で合わせるしかないからです。

そこがOKなら、わりと頻繁にチェックできるかもというのが結論です。

RSSを用いる時点で、サイト更新情報はサイト更新側→そのサーバー→そのサーバをチェックするRSSプログラム→そのプログラムをチェックするユーザーという流れなので、まあ結構ラグがあるんですよね。ここで仮に途中でいくら「サイト更新はまだですか?」というチェックをしてもサイト更新チェックは負荷をかけてるだけでとなります。

要するにRSSの仕様=更新側サイドとしてそれを適当なタイミングで知るということを、無理に任意にしている時点で「ズレ」ているという認識です。

以下近しいことや関連することを調べてみました。

RSSフィードが作成出来るプログラム

自分でローカルサーバ等Web知識があれば、TwitterやInstagram等のフィードを配信していないサービスのフィードを取得する方法で紹介されているようなRSS-Bridgeが使えます。このソフトというかプログラムを使えばいいということで試してみました。Githubって何という人は取っつきづらい感じがします。

なおRSS-Brigeの環境としては、要件として、PHP >= 5.6、openssl、curlが入っている必要があります。Xamppなどの環境でカバーできました。curlはWin10では標準らしいです。

ローカル環境で動かして分かることは、これでRSSフィードを特定のサイトやSNSで作ってもそのフィード自体はいつ更新するかということです。つまり、ローカル環境であれば任意で(例えばcron等)定期実行ができそうですが、それは技術が要りそうです。

ここでわかったことはRSSフィードが作成できてもそれを再度チェックする、正確には定期的にチェックする必要があるので、RSSフィード×定期実行というのがないと、今回の狙いは達成できないということです。

RSS作成サービスとしてWebサービスもある

より易しいのはこちらのようなWebサービスを使うことです。

rss.app
FetchRSS

これらは登録して使うSaas型のサービスと言えますが、特定のサイトやURLを入れてフィード化してそれをチェックするとなります。シンプルですね。

このサービスを使っても、結局は無料であればですが、定期チェック時間が以下のようになっており、頻度によりますがすぐ知ることは不可能です。という意味で、上の結論ではNGとしています。

RSS.appの場合

料金表では、

  • FREEプラン:2フィード、更新頻度24時間毎
  • BASICプラン(4.99ドル):5フィード、更新頻度3時間毎
  • PREMIUMプラン(9.99ドル):40フィード、更新頻度30分毎
  • DEVELOPERプラン(19.99ドル):100フィード、更新頻度15分毎

となっています。つまり、無料プランでは2フィードまでですが、かつ24時間単位の更新となっています。

FetchRSSの場合

料金表では、

  • Free:5フィード、更新頻度24時間毎
  • Basic(4.95ドル):25フィード、更新頻度3時間毎
  • Advanced(9.95ドル):100フィード、更新頻度30分毎
  • Professional(14.95ドル):250フィード、更新頻度15分毎

となっています。

これらを使っても、無料プランであれば1日は最短でもかかるということです。要するに早く欲しいならお金を出せということで非常に分かりやすいですし、負荷もかかるのでそのとおりだと思います(笑)

ちなみにFeedlyを僕は使っていますが、このFeedlyの更新頻度を気にしたことはなかったのですが、数時間程度っぽいというところです。公式では情報がなく、有料プランでは更新頻度より早くなる(10倍?)くらいしか情報がなかったです。(参考:【神ツール】Feedly使い方。多読・速読で超高速インプット♪

国産サービスも紹介しておきます。

Webchekerの場合

料金表では、Free~BUSINESSまで最短で1時間となっています。Free版でも1時間というのは上のサービス2つからすれば良心的な印象ですよね。とはいえFree版は内容の部分まで分かるかは不明のようで、変更があったかどうかだけでお試し版っぽい印象です。

とはいえ、年1,100円で更新時間を10分に出来るのであれば、プログラミング分からない方はありな選択肢だと感じました。

他ソフトでローカル環境で使うインストール型のものもありそうですが、ここでは割愛します。結局原理はサーバーや自前で見に行くことができてもどう定期巡回するか、そのタイミングで負荷がかかる、そこでよりプログラミングなどが必要になるか、サーバ等を使うということになるからですね。

自分の任意タイミングで欲しいなら他にどうするか?

GASであれば短いプログラムであれば定期実行などをトリガーを使ってチェックできます。ただこれは汎用的に使えるかというと、importXMLなどのやり方もサイトでは取れないものもあるので、なかなかというところでしょう。

さらにスクレイピングなどもありますが、APIでやってねというところでないところで、負荷をかけると最悪BANされたり、ロックされたりするはずです。

くどいですが原理として、情報が更新されたことを知るには、自分が更新者なら自分が更新したので分かりますよね(笑)でも、人が更新したものをチェックする、差分が分かるということは、以前の情報や更新したタイミングで何かしら情報を得るか、蓄積しておく必要があります。

ちなみに上の更新頻度を最大にしつつ1時間以内で更新チェックをしても、当然サイト側で更新されていなければ「更新された」ことは分かりません。つまり、サイト側の更新頻度によって適切に情報を得る、RSSの思想かは分かりませんが、「早く」知るよりも、見逃さない、まとめて知るということ、網羅性が重要なのかなという印象です。

もっとも有料プランで早く知ることもできるのですが、これはどこまで頻繁に情報が欲しいかという問題が残るのでそれ次第です。

最終的な、現状のベストプラクティスは、RSSサービスのrss.appなどで有料登録して使ってみるところでどうかくらいでしょうか。情報として取りたいものが少しならGASなど勉強してみるのもいいかもしれませんね。

今回のポイント

ポイントということでもないのですが、RSSであったり何かしらの概念や言葉は使い手によって全く意図が異なります。正しく使うというのは知識や経験がいりますが、サイト更新自体をチェックできるとしてRSSは満たしていますが、頻度を早くすればお金がかかるという感覚です。

こういったサイト更新を知りたいというニーズであれば、実はサイト更新をなぜ知らなければいけないのか、そもそも頻繁に見る必要があるのか、色々なことを分解する、抽象化具体化すると全然違うアイデアが見えてきたりします。そう考えるとあえてチェックしなくてもいいとか、実はそこに必要な情報はなかったということもありますよね(笑)

プログラミングではないですが、実現出来る選択肢や知識もですが色々知っておくと効率化できたりして、思考に時間を使えるのがやはり良いですね。

ビジネスアイデア相談

店舗への集客アイデア、Webサービスのアイデア、起業・複業アイデアなどビジネスアイデアに関して幅広くご相談可能です。

「もっとアイデアがほしい」「個別に企画の相談に乗って欲しい」「この施策をどう考えるか」という方は、ぜひお気軽にお問い合わせフォームからご連絡ください。