News Feed Syndication - A package that read and fetch RSS feeds from the publications.


Keywords
rss, news, news-scraper, newsfeedaggreagtion, open-source, rss-reader, syndication
License
BSD-2-Clause
Install
pip install NFSyndication==0.2.16

Documentation

News Feed Syndication

https://travis-ci.org/web-sys1/NFSyndication.svg?branch=master tests

This is a set of scripts for aggregating RSS feeds.

https://repl.it/badge/github/web-sys1/NFSyndication

Installation

You can install package through the line command:

pip install NFSyndication

Alternatively you can install it form source code (with git prefix): pip install git+https://github.com/web-sys1/NFSyndication.git

Usage

Put a list of feed URLs in feeds.txt file. One feed per line.

Run the command:

nfsyndication-src
usage: nfsyndication-src [-h] [-V] [-v] [-f FILENAME [FILENAME ...]] [--outputJSON OUTPUTJSON] [--comparator-filter [COMPARATOR_FILTER]]

News Feed Syndication - A package that read and fetch RSS feeds from the publications.

optional arguments:
  -h, --help            show this help message and exit
  -V, --version         Print the package version and quit
  -v, --verbose         Show verbose messages
  -f FILENAME [FILENAME ...], --filename FILENAME [FILENAME ...]
                        specify which file type to use (for example: nfsyndication-src --filename=./path/to/sample.file.txt)
  --outputJSON OUTPUTJSON
                        Save feeds to output file JSON format.
  --comparator-filter [COMPARATOR_FILTER]
                        Enable the comparator. This will randomly ignore stale RSS feeds from the rendering output HTML.

Otherwise, you should do that through Python code:

from NFSyndication import init as NFS_init

def entry_point():
  """ We use these conditions to check the statement"""
  subscriptions = [
   'http://feedpress.me/512pixels',
   'http://www.leancrew.com/all-this/feed/',
   'http://ihnatko.com/feed/',
   'http://blog.ashleynh.me/feed',
   'http://www.betalogue.com/feed/',
    ...
   ]

  with open(f'feeds.txt', 'w', encoding='utf8') as f:
   f.write(",".join(subscriptions).replace(',', '\n'))
  return NFS_init()

"""Then initialize code."""
entry_point()

If you wish to do another way instead of feeds.txt, you should use pass filename to upload list of the feeds. Then run:

nfsyndication-src --filename=path/to/feeds.txt

Note

Assuming nothing goes wrong, the posts will be written to HTML file.

License

See LICENSE

Bug fix

After many hours of working to development, it was set up an way of path configuration due to errors. Meanwhile, we have to set code os.path.dirname(os.path.realpath(__file__)) with the globalization of variables for source code in this package. If you encounter a problem, please report here.

This package was initially released on August 16, 2020 (under version 0.2.0). For more information about changes, see CHANGELOG.