# websitechanges **Repository Path**: mirrors_schollz/websitechanges ## Basic Information - **Project Name**: websitechanges - **Description**: Alerts you via email about a website change. - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-25 - **Last Updated**: 2026-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # websitechanges Alerts you via email about a website change, with an image of the change. After writing a [website change script in Python](https://github.com/schollz/websitechanges), I realized I could make it much better using Go+Node. This code was very helpful for me to get registered for a high-demand [pottery class](https://schollz.com/blog/pottery/). In this version I'm using [puppeteer](https://github.com/puppeteer/puppeteer) to do the capturing. The puppeteer code first filters out any ads (to prevent new things appearing in screen) and then captures an image of a CSS-selected content. The change-detection happens in Go and sends an email with an image of the change when any is detected. ## Example Here is an example of a change detected from the New York times headlines.

The previous state is shown in red and the new state is shown in green. The `config.json` used was (note the folder key is optional and is used to customize the folder name of images for easier recognition.): ```javascript { "watchers": [ { "url": "https://www.nytimes.com", "css": "h2 > span", "folder": "nytimes" }] } ``` ## Usage First make sure you have `node` and `go` installed on your system. Then download and build: ``` > git clone https://github.com/schollz/websitechanges > cd websitechanges > go build -v ``` Now copy the config file and fill it in (you don't have to include email, just erase that section if you don't need it): ``` > cp config-example.json config.json > vim config.json ``` Now run. The first time you run it will download a HOSTS file that is used for filtering adds and it will install puppeteer if not installed. ``` > ./websitechanges ``` By default this will run every 5 minutes. You can adjust the delay by passing the `-delay 10` where 10 is the number of minutes to wait before the next run. ``` > ./websitechanges -delay 10 ``` It automatically generates diff images everytime it encounters a change. ## Contributing Pull requests are welcome. Feel free to... - Revise documentation - Add new features - Fix bugs - Suggest improvements ## License MIT