日々のホームページ巡回の手間を無料で解決

## 背景
日々、気になるホームページが更新されているかどうかを確認するために、手間をかけて巡回チェックしている方も多いのではないでしょうか。私自身も、以前はそうしていました。

RSSが利用できるサイトであれば、専用のツールを使って効率的に確認する方法もありますが、今でもRSSに対応していない昔ながらのサイトも多く存在します。

もしかするとプログラミング・スキルをお持ちの方は、独自ツールを構築してチェックされたりしているかもしれません。

そんな巡回チェックの手間を省くためにいろいろと探した結果、たどり着いたのが今回紹介する「changedetection.io」です。

https://changedetection.io

このツールは派手な機能こそありませんが、以下のような魅力があります：
- 簡単に導入可能で、自動的に更新をチェック
- 更新された箇所をdiff形式でわかりやすく表示

ホームページの更新確認に手間をかけたくない方には、ぜひ一度試していただきたいツールです。

## 導入方法

Dockerを利用すると簡単にセットアップが可能です。
Dockerについて知らない方はDocker Desktopを導入するのが容易です。詳しくない方は、以下のリンクを参照してください。

https://qiita.com/zembutsu/items/a98f6f25ef47c04893b3

changedetection.ioのdocker-compose.ymlがあります。GitHubから入手します。

https://github.com/dgtlmoon/changedetection.io

Docker Engineが動作しているPCに、以下の手順でリポジトリをクローンします。

```:zsh
mkdir changedetection.io
cd changedetection.io
git clone https://github.com/dgtlmoon/changedetection.io.git
```

私はMacを使用しているため、ターミナルから以下のコマンドを実行してコンテナを起動します。

```:zsh
docker compose up -d
```

コンテナが正常に起動したら、以下のURLにブラウザからアクセスできます。

[http://localhost:5000/](http://localhost:5000/)

## 登録方法
ブラウザのブックマークに日々巡回してチェックしていたサイトが沢山あると思いますので、登録していきます。

URLアドレスを入力して「Watch」ボタンを押します。
![スクリーンショット 2024-11-24 14.51.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/098a9c32-f30d-e7ef-6ee8-961ade115a25.png)

以上です。とても簡単です。

登録されると、以下の様に一覧表に表示されます。

![スクリーンショット 2024-11-24 14.53.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/185f0126-5ab0-4374-84f8-4846f97a430a.png)

Last Checkedが最後にチェックした時間、Last Changed最後に更新された時間です。

「Preview」ボタンを押すと、テキストが出てきます。

![スクリーンショット 2024-11-24 15.51.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/325856e3-003d-7025-6e4a-15be09526675.png)

ここに出ているテキストに変化があると「変化があったよ」と教えてくれます。
逆にここで表示されないテキストは更新されても教えてくれません。

サイトが更新されると、Last Changedのところの時間が太文字に変わります。
変更箇所を知るために「History」ボタンを押します。

![スクリーンショット 2024-11-24 15.32.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/0b1f211b-acbc-f0e4-3d34-c017d32eb9e3.png)

すると、どこが更新されたか一目で分かる、diffの様な表示で確認できます。
以下はCQ出版社の新刊を紹介しているサイトですが、追記された箇所が緑色でハッチングされています。

![スクリーンショット 2024-11-24 14.56.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/23b5ae39-353f-0a36-5d6c-3396880d5996.png)

なお削除された部分は赤色でハッチングされます。

![スクリーンショット 2024-11-24 15.00.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/fa89e944-9127-a12c-d1da-d241234636bb.png)

YouTubeに分かり易い動画が落ちてます。
https://www.youtube.com/watch?v=0-BhkZJOvtg

ただしこの動画の中で触れている「Visual Filter Selector」はサブスク登録が必要です。

## URL一括登録
いちいち登録するのが面倒な場合は、URLアドレスを一括でインポートもできます。

![スクリーンショット 2024-11-24 15.02.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/0145dedd-0eea-fde0-0504-5933a948995c.png)

私は試してませんが、エクセルとかでのインポートも出来る様です。エクセルだとタイトルも付けられそうな雰囲気がします。

![スクリーンショット 2024-11-24 15.54.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/558dc460-ff53-824d-9bed-fcff0abbbc20.png)

## バックアップ
何かあった時の備え、バックアップも可能です。沢山URLを登録したらひとまずバックアップしましょう。

BACKUPSを押すと、「Create backup」ボタンが見えるので押します。

![スクリーンショット 2024-11-24 15.05.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/def87903-3f29-7e49-6814-8ac31480def9.png)

しばらくして更新すると、zipファイルのダウンロードが出来ます。

![スクリーンショット 2024-11-24 15.07.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/c311c88f-1ef9-9b4b-9567-0f817e0a69b4.png)

インポートについては未だ調べていませんが、バックアップしておけばひとまず安心でしょう。

## 巡回先のアイデア
私は、以下を登録していたりします。なお、RSSが使えるところは、専用ツールを使ってチェックしています。

| 分類           | サイト例                         | 更新頻度 | 主な目的                                                 |
| -------------- | -------------------------------- | -------- | -------------------------------------------------------- |
| 出版社関連     | 出版社のサイト                   | たまに   | 新刊の発売情報を事前にゲット                                     |
| メディア関連   | テレビ番組のサイト               | たまに   | 放送前に番組予告をゲット                                 |
| 無料ツール関連 | 無料ツールのサイト               | 少ない   | 無料がゆえ更新が少ない。新バージョンをもれなくゲット |
| 地域情報関連   | 近所の物産館のサイト             | 時々     | お祭りやフェアなど地域イベントをゲット                 |
| 行政関連       | 行政の気になるページ             | 突然     | あまり宣伝されなかったりするので、新情報を逃さないように                             |
| 教育関連       | 子供の学校のホームページ         | 時々     | 不定期の校長先生のブログや学校情報のチェック                     |
| 医療関連       | 病院のホームページ               | 不定期   | 学会参加や盆正月などで休診だったりするのでその確認                             |
| 募集関連       | 各種募集ページ                   | 不定期   | 募集開始から終了が短期間だったりするので                 |
| 企業情報関連   | 企業の新着情報やニュースリリース | 不定期   | お得なキャンペーン情報を逃さないように                             |
| サポート関連   | ネット機器のサポートページ       | 不定期   | 突然公開されるファームウェア更新を逃さない                  |
| 金融関連       | 銀行の金利紹介ページ             | 時々     | 最近金利がよく上がるので                              |
| 個人運営サイト | とほほさんのホームページ         | よく     | 最近更新が頻繁なため、よくチェックする                   |

## まとめ
ノーコードでホームページ巡回が出来ますので、導入の敷居は低いと思います。夜な夜な気になるサイトをチェックする手間はこれで解消できると思います。

なお、仕事など業務への応用例としては、
- ウェブサイトの改ざん検知システム
- 競合他社(店)のキャンペーン情報や価格情報、サービスなどの監視
- 法律や規約などの更新監視
- サービスのFAQ・サポートページの更新検知

といったところでしょうか。

また、通知機能やAPIなどもがありますが、私は使っていません（個人的に十数件のサイトを気が向いた時チェックする程度なので）。仕事で使うのでしたら便利そうです。必要性が出たら調べてみようかとは思います。