Building a Website Watcher
I recently noticed that I waste a lot of time watching web pages for changes. Well, waste no more. Time to automate this.
The concept is pretty simple: reguarly check a web page for changes, and let me know when something changed.
The first thing we'll need is an app. I've created an app called Watcher, that has 4 fields:
- Title (single line text field)
- Value (single line text field) - last recorded value of what we're watching
- URL (single line text field) - URL of the page we're watching for changes
- Regex (single line text field) - REGEX expression used to extract the value from the page
The next thing we'll need is a flow to check and update the value we're watching on a page.
Make sure that the hook event is checked so that you receive notifications when changes are found.
Now, let's add a watcher in Podio. For the sake of the example, let's assume I want to monitor this item at MeMex to find out when it's in stock again:
Let's head over to the script on the ProcFu site and work out the regex we need. It's always a good idea to start with everything (.*)
:
Then find the text we want and the text right before and right after.
In this case, we're looking for "Out of Stock", and in particular the Online Store part:
A good regex to try would therefore be:Â Online Store \(Store Info\) ([^\n]+)
And if we try that out, it works beautifully:
So, now we can create the Watcher item in Podio:
If we simulate vars in our GF flow, it should show the value it's comparing:
The last thing we need now is a flow to check every watcher. We'll just use an hourly by-date flow to get a view and trigger our original flow (don't forget to create the view in Podio first):
When the flow runs, it will update your watchers with the current value:
And this system will continue to check all your watched web pages every hour for changes.
Helpful Resources
Test your regular expressions:
Get Javascript-rendered pages