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
Цифрова збрoя проти xуйлoвської пропаганди.

Паляниця Цифрова зброя проти xуйлoвської пропаганди. Щоб негайно почати шкварити рашистські сайти – мерщій у швидкий старт! ⚡️ А коли ворожі сервери в

8 Mar 22, 2022
Mangá downloader (para leitura offline) voltado para sites e scans brasileiros.

yonde! yonde! (読んで!) é um mangá downloader (para leitura offline) voltado para sites e scans brasileiros. Também permite que você converta os capítulo

Yonde 8 Nov 28, 2021
A Linux program to create a Windows USB stick installer from a real Windows DVD or image.

WoeUSB-ng A Linux program to create a Windows USB stick installer from a real Windows DVD or image. This package contains two programs: woeusb: A comm

Longinus 1 Nov 19, 2021
An almost fully customizable language made in python!

Whython is a project language, the idea of it is that anyone can download and edit the language to make it suitable to what they want.

Julian 47 Nov 05, 2022
A repository containing an introduction to Panel made to be support videos and talks.

👍 Awesome Panel - Introduction to Panel THIS REPO IS WORK IN PROGRESS. PRE-ALPHA Panel is a very powerful framework for exploratory data analysis and

Marc Skov Madsen 51 Nov 17, 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
A demo of a data science project using Kedro

iris Overview This is your new Kedro project, which was generated using Kedro 0.17.4. Take a look at the Kedro documentation to get started. Rules and

Khuyen Tran 14 Oct 14, 2022
New multi tool im making adding features currently

Emera Multi Tool New multi tool im making adding features currently Current List of Planned Features - Linkvertise Bypasser - Discord Auto Bump - Gith

Lamp 3 Dec 03, 2021
Small scripts to learn about GNOME internals

gnome-hacks This is a collection of APIs that allow programmatic manipulation of the GNOME shell. If you use GNOME (the default graphical shell in Ubu

Alex Nichol 5 Oct 22, 2021
WriteAIr is a website which allows users to stream their writing.

WriteAIr is a website which allows users to stream their writing. It uses HSV masking to detect a pen which the user writes with. Plus, users can select a wide range of options through hand gestures!

Atharva Patil 1 Nov 01, 2021
A modern message based async agent framework

Munggoggo A modern message based async agent framework An asyncio based agent platform written in Python and based on RabbitMQ. Agents are isolated pr

24 Dec 28, 2022
Exactly what it sounds like, which is something rad

EyeWitnessTheFitness External recon got ya down? That scan prevention system preventing you from enumerating web pages? Well look no further, I have t

Ellis Springe 18 Dec 31, 2022
Python Programming Bootcamp

python-bootcamp Python Programming Bootcamp Begin: 27th August 2021 End: 8th September 2021 Registration deadline: 22nd August 2021 Fees: No course or

Rohitash Chandra 11 Oct 19, 2022
Glyph Metadata Palette

This plugin for Glyphs3 allows you to associate arbitrary structured metadata to each glyph in your font.

Simon Cozens 4 Jan 26, 2022
Reso is a low-level circuit design language and simulator, inspired by things like Redstone, Conway's Game of Life, and Wireworld.

Reso Reso is a low-level circuit design language and simulator, inspired by things like Redstone, Conway's Game of Life, and Wireworld. What is Reso?

Lynn 287 Nov 26, 2022
💡 Fully automatic light management based on conditions like motion, illuminance, humidity, and other clever features

Fully automatic light management based on motion as AppDaemon app. 🕓 multiple daytimes to define different scenes for morning, noon, ... 💡 supports

Ben 105 Dec 23, 2022
Set of tools to analyze Tinynuke samples

tinynuke-toolset You'll find in that repository a set of tools and scripts I developped to analyze Tinynuke samples. Dll extractor: script used to ext

Heat Miser 14 Aug 18, 2022
Projects and assets from Wireframe #56

Wireframe56 Projects and assets from Wireframe #56 Make a Boulder Dash level editor in Python, pages 50-57, by Mark Vanstone. Code an homage to Bubble

Wireframe magazine 10 Sep 07, 2022
C++ Environment InitiatorVisual Studio Code C / C++ Environment Initiator

Visual Studio Code C / C++ Environment Initiator Latest Version : v 1.0.1(2021/11/08) .exe link here About : Visual Studio Code에서 C/C++환경을 MinGW GCC/G

Junho Yoon 2 Dec 19, 2021
Is a util for xferring skinning from one mesh to another

maya_pythonplugins skinTo: Is a util for xferring skinning from one mesh to another args: :param maxInfluences: is the number of max influences on the

James Dunlop 2 Jan 24, 2022