Coder Social home page Coder Social logo

rssbot2's Introduction

rssbot2

A modern version of my ancient rssbot module, written in python3.

Branch Build Status
master Build Status
development Build Status

Beerpay Github issues Github forks Github stars Github license

Overview

The rssbot2 python script is intended to monitor a random list of RSS Feeds that are defined within a mysql database table, on a continuous basis, and gather/add any new articles (links) that have been published since the last monitoring session.

Requirements

Hardware

Software

  • Python >= 3.6
  • MySQL >= 5.0

PyPi Modules

  • configobj
  • feedparser
  • mysql-connector-python

Installation

It's pretty straight-forward.

  1. Clone this repo.
  2. Install the dependencies.
  3. Run the setup.py script.
  4. Enter the database configuration information during the setup process.
git clone https://github.com/sodonnell/rssbot2.git
cd rssbot2
pip3 install -r requirements.txt
python3 setup.py

The setup.py script will create a new database schema, if the one you specify doesn't already exist. All you should need is a valid username, password and hostname for your database server.

Alternatively, you can pass arguments when you call the setup.py script. Use the --help argument to see the available arguments.

python3 setup.py --help

Example:

python3 setup.py -u rssbot -d rssbot -h localhost

Any of the arguments that you prefer not to include, will prompt you for user input. Specifically, we do not suggest using the -p or --password arguments. These are mainly for automated testing in travisci, but you're on your own if you do.

Script Usage

add_feed.py

The add_feed.py script is intended to allow you to manually add new RSS Feeds to the rssbot database, via the command line.

It is an interactive shell script that will prompt you to fill-in the blanks for the following:

Usage:

python3 add_feed.py

The add_feed.py script also supports the arguments:

python3 add_feed.py -u https://somesite.com/feed.rss -a

Alternatively, you could create a web-based interface, instead, but that's outside the scope of this project.

runner.py

Ideally, you'd execute the runner.py script on a set interval, via crontab automation. However, whether you execute it manually or autonomously, the command is the same.

Usage:

python3 runner.py

Feel free to extend the runner.py script as you see fit, for your application-specific requirements.

Wiki Documentation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.