The internet is not a static resource, and pages can change over time. Maybe text is revised to show the supposed prescience of the author. Perhaps prices and stock levels of a particular product shift according to the market-driven whims of supply and demand.
Whatever the reason, there’s often a need to monitor a web page for changes, and by running Changedetection.io on your Raspberry Pi, you can monitor as many sites as you like and receive notifications through services such as Discord, email, Slack, and Telegram. It’s an incredibly useful free tool.
Install Changedetection.io on Raspberry Pi
Changedetection.io will run on any ARMv6, ARMv7, or ARM64 processor, so all Raspberry Pi models are supported. Before you start, if you don’t have your Pi connected to a monitor, you should connect to your Raspberry Pi using Secure Shell (SSH).
The easiest way to install Changedetection.io is with Docker and Docker Compose. If you don’t have these already, follow our guide to installing Docker and Docker Compose on Linux.
Update all the packages on your system with:
sudo apt update && sudo apt upgrade
Create a new directory for Changedetection.io in your home directory, then use the cd command to move into it:
cd~mkdir changedetection.io && cd changedetection.io
Now use the wget command to download the changedetection.io Docker Compose file for Raspberry Pi:
Use the nano text editor to open the Docker Compose file:
…and uncomment (remove the “#“) from any lines following the “browser-chrome:” entry. Save and exit nano with Ctrl + O then Ctrl + X. You can now start Docker Compose with:
docker-compose up -d
Docker Compose will pull the relevant images from Docker hub, and set up containers on your Raspberry Pi. This may take a while, especially if your Raspberry Pi is connected to the network over Wi-Fi.
You can connect to your changedetection.io instance by entering your.pi.local.ip.address:5000 into the address bar of any browser
Use Changedetector.io on Raspberry Pi to Monitor Web Page Changes
In the web interface you’ll see that there are two pages monitored by default. These are the changelog of changedetector.io, and the front page of Hacker News. These are set to refresh the page every three hours. You can change this interval by clicking Edit next to the entry. Scroll down to Time Between Check and enter a new value. You can set the interval in weeks, days, hours, minutes, and seconds.
Alternatively, you can manually trigger a comparison from the main interface, by clicking on the Recheck button. If a web page has changed, the Preview button label will change to Diff. Click on Diff to see the differences between the pages. Green text indicates lines which have been added, while red text has been taken away.
You can add a new URL to watch for changes by entering the address into the bar, and choosing the radio button for either watching a static page, or watching for restocks.
While you can trigger notifications via a variety of channels, the easiest and most reliable method is email. You will need the following information:
- The email address you’re sending from
- Your SMTP password
- The email address you want to receive the notification
For instance, if the email address you want to send from is “[email protected]”, your password is “p455w07d”, and you want “[email protected]” to receive notifications of changes, you would enter the following Into the Notifications section of the Settings menu:
Send a test notification, then hit Save.
Monitor Any URL for Changes!
Now you have the means of monitoring any web page for changes, you can keep track of your favorite sites for fresh news, article updates, and changes in stock levels—including for Raspberry Pi itself. This can prove very useful when you want to keep your eye on a site in the background, saving you a whole load of time and effort doing it manually. Instead, you get automatic notifications via email or other services.