A script that will warn you, by opening a new browser tab, when there are new content in your favourite websites.

Overview

web check

A script that will warn you, by opening a new browser tab, when there are new content in your favourite websites.

logo

What it does

The script will check, when run, if there are any changes in the websites. If any changes are found, it will open a new browser tab.

Not every website can be scrap.

How does it work?

After adding an url, the script creates a copy of website's content in your hard drive. When run again, it will compare the website against that stored content line by line, if there are any differences a new tab will be open. Note: Script don't need to open browser when running, you'll only see the terminal.

A lot of websites have some kind of calendar, that means, every day there will be changes in those websites. To avoid this, you can add a unique css selector to each stored url. With this unique identification, the script targets only specific parts of the website, and avoid unnecessary calls to browser.

If there is a change, a new back up file will be created at storage/url_data/backup.

All urls are stored in a JSON file with all the needed information, including encoding.

How to get the unique css selector

Go to the website, right click in the zone you want the script to check. Go to inspect mode. Hover your mouse until you see (usually in blue) everything you want. Right click and copy selector. Paste that in the css field in add url, or modify url.

Set up

Running the script

Once everything is installed, launch the script with web_check/main.pyw. There are four tabs.

home

  • Home: it's the main tab. From here you can launch checker.py with the button Run!. Checker.py it's in charge of all the logic. It will access your stored url and compare it with the actual website.

  • Add url: From this tab, you can add a new url for checking, and its unique css selector.

    Important: url have to start with http:// or https://. Hit Submit new url and the script will make all necessary checks.

    There is a second option, Import file. Import file will let you select a .txt file with several urls, and all of them will be stored.

    The txt file needs to follow the structure: url(white space)css selector. Url only means script will download whole website. Only one url per line.

    https://github.com/

    https://www.reddit.com/ #SHORTCUT_FOCUSABLE_DIV

    https://postal.fsc.ccoo.es/Inicio #divMainContent

  • Modify url: If you need to change an url css selector, you can do it from here. Enter a new css selector, or leave it empty for capturing the whole site, and hit submit.

  • Delete url: Two options for deleting. Check one, or several, urls and hit delete. Delete all will delete all urls stored.

At the Options' menu, it's possible to reset the url_list.txt if, for some reason, the file can't be read with 'reset url'. 'Create batch file' will let automate the script, for faster use.

Automate the script

There is no need to run web_check/main.py every time you want to check your websites, for that, only checker.py is required.

You can run checker.py manually whenever you want, but that's tedious and forgettable, first you would have to activate a virtual environment, and then, run checker.py. With 'Create batch file' you only have to point where python.exe is (the virtual environment one) and a directory where the file will be created.

After all, it's easier to run directly web_check.bat or add the batch file to windows' task scheduler.

Create shortcut

Create shortcut at Options' menu will create a batch file with all information about the script itself and the virtual environment.

Now you don't need to activate each time a venv, web_check.bat will take care of it.

Log file

Every time the script is run, script will output a log file. It clears its content automatically for easier reading. Any error, or info, will be written here.

Log is located in storage/logs/log.txt.

Copyright (C) 2021 Jaime Álvarez Fernández
Comments
  • Update some classes to functions.

    Update some classes to functions.

    • Refactor:
      • CreateFolder = create_folder
      • DeleteUrlGUI = delete_url
      • ModifyCssGUI = modify_css_selector
    • get_charset move to class NewUrl
    • Add comments for easier reading
    enhancement 
    opened by Jaime-alv 0
  • New frames for modify url and delete url

    New frames for modify url and delete url

    Create new frames in both, modify url and delete url. When calling def refresh, tabs don't get destroy, instead, only frames with the different url gets destroy and create again, getting a better refresh

    enhancement 
    opened by Jaime-alv 0
  • Clean main.py

    Clean main.py

    main.py needs to be cleaned with a class, it should be easier to pass arguments and whatever I need into the diferent functions. It will improve its readability

    enhancement Must have 
    opened by Jaime-alv 0
  • Modify url

    Modify url

    Closes #13, closes #4, closes #5

    • Add, modify and delete are all in the same file for easier access.
    • There is a new backup folder for those website with changes, you can see the differences manually.
    • Backup files have now _backup added.
    opened by Jaime-alv 0
  • Some nice improvements

    Some nice improvements

    Closes #10, closes #7

    • Add encoding as a variable.
    • Upgraded script for using classes.
    • Change regex for domain_name(), now it should work better.
    • Setup.py works with if not exists() for all files, including log
    opened by Jaime-alv 0
Releases(v.1.2.0)
  • v.1.2.0(Nov 9, 2021)

    What's Changed

    • Upgrade file paths by @Jaime-alv in https://github.com/Jaime-alv/web_check/pull/38

    Full Changelog: https://github.com/Jaime-alv/web_check/compare/v1.1.0...v.1.2.0

    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Oct 13, 2021)

    • New whats_new.txt file.
      • File clean each time
      • File starts with today's date for easier use.
      • Only write down differences.
    • temp.txt move to url_data.
    • Update README.
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Oct 6, 2021)

  • v0.5.1(Oct 5, 2021)

  • v0.5.0(Oct 2, 2021)

  • v.0.4.0(Sep 28, 2021)

    The script works, it's only command line and you have to run it manually, but it works as intended. setup.py will create necessary folders and files required. add_url.py is the module in charge of adding, deleting and modifying the files and fields needed for the script. main.py is the one that compares websites with the ones already stored, if there is any difference it will open the website in your default browser. After adding a website, you only need to run main.py

    Source code(tar.gz)
    Source code(zip)
  • v0.3.1(Sep 27, 2021)

  • v0.3.0(Sep 21, 2021)

    Scripts works on a basic level. You can add a new url through add_url.py followed by a css selector and the script will store it. When run from main.py, script will compare to the stored version an open it if necessary.

    Source code(tar.gz)
    Source code(zip)
Owner
Jaime Álvarez
Passionate about tinkering and knowledge.
Jaime Álvarez
addons to the turtle package that help you drew stuff more quickly

TurtlePlus addons to the turtle package that help you drew stuff more quickly --------------

1 Nov 18, 2021
Tracking stock volatility.

SP500-highlow-tracking Track stock volatility. Being a useful indicator of the stock price volatility, High-Low gap represents the price range of the

Thong Huynh 13 Sep 07, 2022
WGGCommute - Adding Commute Times to WG-Gesucht Listings

WGGCommute - Adding Commute Times to WG-Gesucht Listings This is a barebones implementation of a chrome extension that can be used to add commute time

Jannis 2 Jul 20, 2022
:fishing_pole_and_fish: List of `pre-commit` hooks to ensure the quality of your `dbt` projects.

pre-commit-dbt List of pre-commit hooks to ensure the quality of your dbt projects. BETA NOTICE: This tool is still BETA and may have some bugs, so pl

Offbi 262 Nov 25, 2022
36 key ergo split keyboard, designed around the Seeeduino Xiao platform

Slice36 Minimalist Split Keyboard 36 key ergo split keyboard, designed around the Seeeduino Xiao platform. Inspired by the Corne, Ferris, Ben Vallack'

54 Dec 21, 2022
A tool for generating skill map/tree like diagram

skillmap A tool for generating skill map/tree like diagram. What is a skill map/tree? Skill tree is a term used in video games, and it can be used for

Yue 98 Jan 07, 2023
To attract customers, the hotel chain has added to its website the ability to book a room without prepayment

To attract customers, the hotel chain has added to its website the ability to book a room without prepayment. We need to predict whether the customer is going to reject the booking or not. Since in c

Taychinov Evgeniy 0 Aug 04, 2022
Script de monitoramento das teclas do teclado, salvando todos os dados digitados em um arquivo de log juntamente com os dados de rede.

listenerPython Script de monitoramento das teclas do teclado, salvando todos os dados digitados em um arquivo de log juntamente com os dados de rede.

Vinícius Azevedo 4 Nov 27, 2022
CircuitPython Driver for Adafruit 24LC32 I2C EEPROM Breakout 32Kbit / 4 KB

Introduction CircuitPython driver for Adafruit 24LC32 I2C EEPROM Breakout Dependencies This driver depends on: Adafruit CircuitPython Bus Device Regis

Adafruit Industries 4 Oct 03, 2022
An app about keyboards, originating from the design of u/Sonnenschirm

keebapp-backend An app about keyboards, originating from the design of u/Sonnenschirm Setup Firstly, ensure that the environment for python is install

8 Sep 04, 2022
Meera 2 May 12, 2022
Custom python interface to xstan (a modified (cmd)stan)

Custom python interface to xstan (a modified (cmd)stan) Use at your own risk, currently everything is very brittle and will probably be changed in the

2 Dec 16, 2021
Fastest python library for making asynchronous group requests.

FGrequests: Fastest Asynchronous Group Requests Installation Install using pip: pip install fgrequests Documentation Pretty easy to use. import fgrequ

Farid Chowdhury 14 Nov 22, 2022
Unfinished Python library based on ndspy, for Zelda: Phantom Hourglass and Spirit Tracks.

zed An unfinished library and toolset by me, for viewing and editing files from The Legend of Zelda: Phantom Hourglass and The Legend of Zelda: Spirit

4 Oct 13, 2022
In this project we will be using OpenCV to virtually drag a rectangle and drop it at a different location. It will be further used for Virtual Mouse.

Virtual Drag & Drog using OpenCV In this project we will be using OpenCV to virtually drag a rectangle and drop it at a different location. It will be

Hassan Shahzad 5 Sep 27, 2021
CMPE 204 Modelling Project

CISC/CMPE 204 Modelling Project Welcome to the major project for CISC/CMPE 204 (Fall 2021)! Change this README.md file to summarize your project (few

totallyrin 2 May 16, 2022
A command line interface tool converting starknet warp transpiled outputs into readable cairo contracts.

warp-to-cairo warp-to-cairo is a simple tool converting starknet warp outputs (NethermindEth/warp) outputs into readable cairo contracts. The warp out

Michael K 5 Jun 10, 2022
Frappe app for authentication, can be used with FrappeVue-AdminLTE

Frappeauth App Frappe app for authentication, can be used with FrappeVue-AdminLTE

Anthony C. Emmanuel 9 Apr 13, 2022
This is an independent project to track Nubank expenses

Nubank expense tracker This is an independent project to track Nubank expenses. To fetch Nubank data we are going to use an unofficial Nubank API, tha

Ramon Gazoni Lacerda 0 Aug 28, 2022
Think DSP: Digital Signal Processing in Python, by Allen B. Downey.

ThinkDSP LaTeX source and Python code for Think DSP: Digital Signal Processing in Python, by Allen B. Downey. The premise of this book (and the other

Allen Downey 3.2k Jan 08, 2023