簡単でおすすめの方法では、Google アラートがあります。
Google 検索で特定のトピックについて新しい検索結果が見つかったときにメールやフィードで通知することが可能です。たとえば、特定のニュースや製品、自分の名前に言及しているコンテンツに関する情報を受け取れます。出典:Google 検索ヘルプ
以下のようにキーワード(本例では「WAF」)を入れたり、URL を対象にすることができます。
また、site: などのコマンドを利用することも可能です。
非常に便利ですが、特定のサイトの細かい更新を拾うことはできません。
細かい更新まで拾いたい場合は、Python を利用した Web ページ監視ツールの urlwatch がおすすめです。
urlwatch とは
Github に公開されている urlwatch は、特定サイトの Web ページまたは任意のシェルコマンドの出力を監視し、前回の取得した情報との差分を抽出できます。レポートはメールなどで送信が可能です。
https://github.com/thp/urlwatch
https://urlwatch.readthedocs.io/en/latest/index.html
インストールと設定
インストール
pip3 install --upgrade urlwatch
ジョブリストファイル(urls.yaml)の作成
urlwatch --edit export EDITOR="/usr/bin/vi"
監視サイトとフィルタの設定
name: に任意の名前、url: に監視したい URL を設定します。複数定義する場合は、--- で区切ります。
filter: に何も指定しない場合、Web ページ全体が取得対象となります。Flash などの動的なページでは、ソースコードが頻繁に変わるため、filter: で監視対象を可能な限り絞る必要があります。filter: の詳細はこちらを参照
vi ./.config/urlwatch/urls.yaml kind: url name: Network Engineer Blog url: https://friendsnow.hatenablog.com/ filter: - element-by-tag: body - html2text --- kind: url name: オープンソースの WAF(ModSecurity)について url: https://friendsnow.hatenablog.com/entry/2020/11/21/110000 filter: - element-by-tag: body - html2text
通知設定
Gmail で送信する場合は以下のように設定します。
vi ./.config/urlwatch/urlwatch.yaml report: email: enabled: true from: '*******@gmail.com' html: ture method: smtp sendmail: path: sendmail smtp: auth: true host: smtp.gmail.com port: 587 starttls: true user: '' insecure_password: ******* subject: 'Webサイトの更新がありました!: {jobs}' to: '*******@gmail.com'
注意点として、Gmail を利用する場合は、以下の手順で Gmail アカウント構成の変更も必要です。
- https://myaccount.google.comへアクセスします。
- 左ペインの「セキュリティ」をクリックします。
- 「安全性の低いアプリのアクセス」を有効にします。
※プライマリ Gmail アカウントでこの設定はセキュリティ対策として適切ではなく非推奨です。
urlwatch 専用のアカウントを作成することを強く推奨します。
確認
urlwatch --list コマンドで確認します。
urlwatch --list 1: Network Engineer Blog ( https://friendsnow.hatenablog.com/ ) 2: オープンソースの WAF(ModSecurity)について ( https://friendsnow.hatenablog.com/entry/2020/11/21/110000 )
実行
urlwatch を実行します。最初の実行でソースコードを保存し、2回目の実行で差分があった場合、更新内容(赤字:更新前、緑字:更新後)が出力されます。
urlwatch
出力例
以上