Skip to content

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

💬 ScrapeAndYell Template

This repository is a template for setting up a scheduled website monitor using Python, Playwright, and ntfy.sh via GitHub Actions. It scrapes a specific element from a target webpage and sends a push notification to your phone or desktop when the text of that element changes.

The project is built with professional standards including centralized configuration, logging, and automated code linting via ruff.

How to Use This Template

  1. Click the green Use this template -> Create a new repository button.
  2. Name your new repository whatever you want.
  3. Go to your new repository's Settings -> Secrets and variables -> Actions.
  4. Add your specific environment variables (NTFY_TOPIC, TARGET_URL) as New repository secrets.
  5. Edit the .github/workflows/schedule.yml file to enable the action and set your preferred time.

Local Development (for testing)

  1. Clone your new repository to your local machine.
  2. Install the required Python packages:
pip install -r requirements.txt
python -m playwright install chromium
  1. Copy the .env.example file and rename it to .env. Fill in your configuration values.
  2. Open scraper.py and modify the Playwright selector to target the specific website element you want to monitor.

How to use ntfy.sh

ntfy.sh is a simple HTTP-based pub-sub notification service.

  1. Install the ntfy app on your phone (iOS/Android) or use the web interface.
  2. Subscribe to a unique topic name of your choice (e.g., my_secret_scraper_topic).
  3. Use that exact topic name for your NTFY_TOPIC environment variable or secret.
  4. When the script detects a website change, it will send an instant notification to your subscribed topic!

About

Automate web scraping and ntfy notifications! Update the CSS selector, fill your .env, and let GitHub Actions run it daily.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages