/watchdogs

Keep an eye on the change of web world, everything can be RSS.

Primary LanguagePythonMIT LicenseMIT

Keep an eye on the change of web world.

Such as post articles / news on the web portal / server api health / binge-watching / steam price fluctuation / github events / updates of comic and novel, and so on...

Intro

中文文档

  1. This is a web app based on fastapi, databases, uniparser, torequests.
  2. Smoothly deploy it by pip: pip install -U watchdogs;python3 -m watchdogs
  3. Simple to create a new crawler with the Web UI, not like old ways to write duplicate code.
  4. All the crawlers keep runing in the async environment.
  5. Almost all the elements have a title attribute to describe the features in the Web UI, which means docs lay on the UI.
  6. Release your hands from repetitive refreshing pages on the browser.
    1. Subscribe the change events with RSS reminder extensions, such as Feedbro or RSS Feed Reader.
    2. Implement a class which inherits from watchdogs.callbacks.Callback.

Usage

  1. pip install -U watchdogs

  2. python -m watchdogs

  3. Open the browser: http://127.0.0.1:9901

Command line args

python -m watchdogs -- -h

  • db_url:

sqlite / mysql / postgresql(not test) url, which databases supports. Defaults to 'sqlite:///{HOME_PATH}/watchdogs/storage.sqlite'

  • password:

init password, if null can be set on the first visit on web.

  • mute_std_log:

remove stdout log for clean stream

  • mute_file_log:

ignore file log located at {HOME_PATH}/watchdogs folder.

  • md5_salt:

md5_salt for custom md5(password) / md5(rss_tag)

  • config_dir:

config dir to save the logs and config files, if using sqlite include sqlite file. defaults to {HOME_PATH}/watchdogs

  • use_default_cdn:

If Config.cdn_urls not set, and use_default_cdn is True, will use online js/css cdn links from staticfile.org.

  • **uvicorn_kwargs:

uvicorn startup kwargs, such as port, host. Which can be set like: python -m watchdogs --port=9999 --host=127.0.0.1 --access-log=False

Quick Start to Create New Task

Quick Start Screenshots

Web UI

Screenshots
  1. Welcome Page (Tasks Page).

Here you can see all the tasks meta, goto RSS / Mobile Lite Page, and do some operations to the tasks.

image

  1. New Task Page.

Here based on the latest uniparser web app, to create new rules and also tasks.

image

  1. Rules Page.

Do some operations for the rules.

image

  1. API page.

Based on fastapi /docs which is generated automatically.

image

  1. Mobile Page (Lite View).

For mobile phone to glimpse the latest result for the current 30 tasks.

image