# wristwatch
[![PyPI version](https://img.shields.io/pypi/v/wristwatch)](https://pypi.org/project/wristwatch/)
[![PyPI downloads](https://img.shields.io/pypi/dm/wristwatch)](https://pypi.org/project/wristwatch/)
[![GitHub license](https://img.shields.io/github/license/zWolfrost/wristwatch)](LICENSE)
Yet another Python watcher for website updates.
## Features
- Selecting elements to watch with CSS selectors.
- Automatic importing of cookies from many browsers.
- Emailing the changes to yourself.
- Other features...
You can safely quit watching at any time by pressing `Ctrl+C`.
## Installation
After having installed [Python 3](https://www.python.org/downloads/) with pip, you can install wristwatch using the following command:
```bash
pip install wristwatch
```
## Arguments
| Command | Example | Description
|:-: | :-: |:-
| | `"https://example.com/"` | The URL of the webpage to scrape.
| `-b` `--browser` | `-b "chrome"` | Name of the browser to get cookies from (by default, any<br>browser possible). See `--help` for supported browsers.
| `-f` `--frequency` | `-f 60` | Frequency of fetches in seconds (default: 60).
| `-s` `--selector` | `-s "#minutes" -s "#hours"` | CSS selector of element(s) to scrape. Can be used multiple times.
| `-a` `--attribute` | `-a "href" -a "title"` | Attribute of the element(s) to scrape. Can be used multiple times.<br>Can also be "text" to scrape the text content.
| `-e` `--email` | `-e "example@gmail.com"` | Email address to self-send the changes to.
| `-p` `--password` | `-p "aaaa bbbb cccc dddd"` | Email "app" password. [Here's a guide on how to generate one](https://support.google.com/accounts/answer/185833#app-passwords).
| `-i` `--input` | `-i "input.txt"` | Load the first fetch from a file.
| `-o` `--output` | `-o "output.txt"` | Save the last fetch to a file.
| `-q` `--quiet` | `-q` | Decrease output verbosity.
| `-l` `--loop` | `-l` | Keep watching for changes even after the first one.
| `-c` `--chime` | `-c` | Play a sound when changes are detected.
| `-v` `--version` | `-v` | Show the program's version.
| `-h` `--help` | `-h` | Show the help message on how to use the program.
## Examples
```bash
wristwatch "https://relaxingclock.com" -s "#minutes" -f 5 -a -l
```
## Screenshots
![Enter commands](screenshots/1.png)
## Changelog
*This changelog only includes changes that are worth mentioning.*
- **1.0.0**:
<br>- Initial release.
- 1.0.1
<br>-Specified dependencies version requirements
- 1.0.2
<br>-Fixed `--loop` argument not working
- **1.1.0**:
<br>- Added `--alert` argument to play a sound when changes are detected.
- **1.2.0**:
<br>- Added `--debug` argument to show debug info & error messages.
<br>- Changed "rookiepy" dependency for "browser-cookie3"
<br>- Better error handling.
- **1.3.0**:
<br>- Added `--attribute` argument to scrape attributes and text content.
<br>- Changed `--alert` argument name to `--chime`
<br>- Better error handling.
Raw data
{
"_id": null,
"home_page": "https://github.com/zWolfrost/wristwatch",
"name": "wristwatch",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "zWolfrost",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/c8/57/68ab3df9a545c5ac4c91f2c1956208ae91db95b9a3067e64abfbb46dfa60/wristwatch-1.3.0.tar.gz",
"platform": null,
"description": "# wristwatch\n[![PyPI version](https://img.shields.io/pypi/v/wristwatch)](https://pypi.org/project/wristwatch/)\n[![PyPI downloads](https://img.shields.io/pypi/dm/wristwatch)](https://pypi.org/project/wristwatch/)\n[![GitHub license](https://img.shields.io/github/license/zWolfrost/wristwatch)](LICENSE)\n\nYet another Python watcher for website updates.\n\n \n## Features\n- Selecting elements to watch with CSS selectors.\n- Automatic importing of cookies from many browsers.\n- Emailing the changes to yourself.\n- Other features...\n\nYou can safely quit watching at any time by pressing `Ctrl+C`.\n\n \n## Installation\nAfter having installed [Python 3](https://www.python.org/downloads/) with pip, you can install wristwatch using the following command:\n```bash\npip install wristwatch\n```\n\n \n## Arguments\n| Command | Example | Description\n|:-: | :-: |:-\n| | `\"https://example.com/\"` | The URL of the webpage to scrape.\n| `-b` `--browser` | `-b \"chrome\"` | Name of the browser to get cookies from (by default, any<br>browser possible). See `--help` for supported browsers.\n| `-f` `--frequency` | `-f 60` | Frequency of fetches in seconds (default: 60).\n| `-s` `--selector` | `-s \"#minutes\" -s \"#hours\"` | CSS selector of element(s) to scrape. Can be used multiple times.\n| `-a` `--attribute` | `-a \"href\" -a \"title\"` | Attribute of the element(s) to scrape. Can be used multiple times.<br>Can also be \"text\" to scrape the text content.\n| `-e` `--email` | `-e \"example@gmail.com\"` | Email address to self-send the changes to.\n| `-p` `--password` | `-p \"aaaa bbbb cccc dddd\"` | Email \"app\" password. [Here's a guide on how to generate one](https://support.google.com/accounts/answer/185833#app-passwords).\n| `-i` `--input` | `-i \"input.txt\"` | Load the first fetch from a file.\n| `-o` `--output` | `-o \"output.txt\"` | Save the last fetch to a file.\n| `-q` `--quiet` | `-q` | Decrease output verbosity.\n| `-l` `--loop` | `-l` | Keep watching for changes even after the first one.\n| `-c` `--chime` | `-c` | Play a sound when changes are detected.\n| `-v` `--version` | `-v` | Show the program's version.\n| `-h` `--help` | `-h` | Show the help message on how to use the program.\n\n \n## Examples\n```bash\nwristwatch \"https://relaxingclock.com\" -s \"#minutes\" -f 5 -a -l\n```\n\n \n## Screenshots\n\n![Enter commands](screenshots/1.png)\n\n \n## Changelog\n*This changelog only includes changes that are worth mentioning.*\n\n- **1.0.0**:\n<br>- Initial release.\n\t- 1.0.1\n\t<br>-Specified dependencies version requirements\n\t- 1.0.2\n\t<br>-Fixed `--loop` argument not working\n- **1.1.0**:\n<br>- Added `--alert` argument to play a sound when changes are detected.\n- **1.2.0**:\n<br>- Added `--debug` argument to show debug info & error messages.\n<br>- Changed \"rookiepy\" dependency for \"browser-cookie3\"\n<br>- Better error handling.\n- **1.3.0**:\n<br>- Added `--attribute` argument to scrape attributes and text content.\n<br>- Changed `--alert` argument name to `--chime`\n<br>- Better error handling.\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Yet another Python watcher for website updates.",
"version": "1.3.0",
"project_urls": {
"Homepage": "https://github.com/zWolfrost/wristwatch"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8f38a7affef843c4227ad05a5df996f99bf84b156870bcfb79c2aaff0331210f",
"md5": "df488b46a92a37aaf5e7cc8cf0b1716e",
"sha256": "95923781f8159dc7b209a90ca5cf3a6991b4ebd70d3b81626ffcc8539bfd6092"
},
"downloads": -1,
"filename": "wristwatch-1.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "df488b46a92a37aaf5e7cc8cf0b1716e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7454,
"upload_time": "2024-04-20T10:35:36",
"upload_time_iso_8601": "2024-04-20T10:35:36.657777Z",
"url": "https://files.pythonhosted.org/packages/8f/38/a7affef843c4227ad05a5df996f99bf84b156870bcfb79c2aaff0331210f/wristwatch-1.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c85768ab3df9a545c5ac4c91f2c1956208ae91db95b9a3067e64abfbb46dfa60",
"md5": "1f03c9b83e2c2431db41d455aaff79e9",
"sha256": "1dfa0c36ce16ac633b4fc7d218bc8a9312f380ad3a7f8c922cdef33ca9d1cfd1"
},
"downloads": -1,
"filename": "wristwatch-1.3.0.tar.gz",
"has_sig": false,
"md5_digest": "1f03c9b83e2c2431db41d455aaff79e9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6851,
"upload_time": "2024-04-20T10:35:38",
"upload_time_iso_8601": "2024-04-20T10:35:38.198255Z",
"url": "https://files.pythonhosted.org/packages/c8/57/68ab3df9a545c5ac4c91f2c1956208ae91db95b9a3067e64abfbb46dfa60/wristwatch-1.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-20 10:35:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zWolfrost",
"github_project": "wristwatch",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "wristwatch"
}