DUICUO

このオープンソース ツールを使用して、任意の Web サイトから変更アラートを取得します。

その年は2020年で、パンデミックに関するニュースが殺到し、誰もがさまざまな程度の最新情報を提供する同様のニュース記事に完全に圧倒されたと感じていました。

しかし、私が知りたいのは、公式ガイドラインがいつ変更されるかということです。結局のところ、それが私にとって最も重要なことなのです。

パンデミックを追跡する場合でも、最新のテクノロジーニュースを追跡する場合でも、Web サイトのコンテンツの変更について最新情報を入手しておくことが重要です。

changedetection.ioプロジェクトは、ウェブサイトの変更検知と通知のためのシンプルながらも強力なオープンソースソリューションを提供しています。セットアップは簡単で、Matrix、Mattermost、Nextcloud、Signal、Zulip、Home Assistant、メールなど、70種類以上(現在も増加中)の通知システムに通知できます。また、Discord、Office 365、Reddit、Telegramといった独自アプリケーションへの通知も可能です。

changeection.io はウェブページのコンテンツを監視するだけではありません。XML フィードや JSON フィードも監視でき、ウェブサイトの変更を記録する RSS フィードを作成できます。

シンプルなJSONストレージシステムが組み込まれているため、情報の受信と保存のために複雑なデータベースを構築する必要がありません。Dockerイメージを使って実行することも、 ​pip​を使ってインストールすることもできます。プロジェクトには、よくある質問を網羅した包括的なWikiヘルプページがあります。

複雑な JavaScript を使用している Web サイトの場合、組み込みの Playwright コンテンツ フェッチャーを使用して、changeetection.io を Chromium または Chrome ブラウザに接続できます。

実行後、ブラウザでアプリケーションにアクセスしてください(デフォルトでは​http://localhost:5000​ )。コンピューターが外部ネットワークからアクセスできる場合は、「設定」でパスワードを設定できます。

変更検出監視リスト

監視したいページのURLを送信してください。ページのフィルタリング方法に関する設定がいくつかあります。例えば、企業のウェブサイトのフッターに記載されている株価の変動は知りたくないかもしれませんが、ブログに掲載されているニュース記事については知りたいかもしれません。

ウェブサイトの監視

お気に入りのウェブサイト「Opensource.com」を監視リストに追加したいとします。キータグが付けられた記事に「python」という単語が含まれている場合に通知を受け取りたいだけなので、Matrix経由で通知を受け取りたいのです。

これを行うには、まず「ビジュアルフィルタセレクタ」ツールを使用する必要があります。( Playwrightブラウザインターフェースへの接続が必要です。)

監視する要素を見つける

このツールは、コンテンツに最適なXPathまたはCSSフィルターを自動で計算します。このツールを使わないと、毎日のページ更新で大量のノイズが発生してしまいます。

次に、「フィルターとトリガー」タブにアクセスします。

フィルターとトリガー

「CSS/JSON/XPATH フィルター」領域 (青い円) には、前の手順で自動的に生成された CSS フィルターが表示されます。

「要素の削除」(ノイズの多い要素の削除に適しています)、「テキストを無視」、「テキストをトリガー/待機」、「テキストが一致する場合は変更検出をブロック」(「売り切れ」などの一部のテキストが消えるのを待機するために使用)など、便利なフィルターがいくつかあります。

「トリガー/テキスト待機」フィールド(赤い丸)に、監視するキーワードを入力します。(この例では「python」です)。

最後のステップは「通知」タブで、受信したい通知を設定します。以下では、Matrix APIを使用して、通知先としてMatrixルームを追加しています。

通知タブ

通知の URL 形式は​matrixs://username:[email protected]/#/room/#room-name:matrix.org​です。

ただし、t2Bot形式もサポートされています。その他のMatrix通知オプションについては、こちらをご覧ください。

以上です!これで、コンテンツに変更があるたびに、マトリックスを通じて通知が届くようになります。

その他

changedetection.io には、他にも多くの機能があります。カスタム JSON API を呼び出したい場合は、通知 API( ​jsons://​を使用)を使用する必要はありません。また、カスタム HTTP リクエスト(POST および GET)を作成したり、チェック前に JavaScript を実行したり(ユーザー名とパスワードのログインフィールドに事前入力するなど)したり、その他多くの興味深い機能も提供しており、近日中にさらに追加される予定です。

ウェブサイトの閲覧をやめて、ネットワークの監視を始めましょう!