All Projects → vas3k → Infomate.club

vas3k / Infomate.club

Licence: apache-2.0
RSS feed collections with article summarization

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Infomate.club

YouTubeFeeds
Get new youtube video notifs, on telegram!
Stars: ✭ 29 (-88.63%)
Mutual labels:  rss, telegram, feed
Rssbot
Lightweight Telegram RSS bot for notifications only. 用于消息通知的轻量级 Telegram RSS 机器人
Stars: ✭ 952 (+273.33%)
Mutual labels:  rss, telegram, feed
overflow-news
📚 Don't waste time searching for good dev blog posts. Get the latest news here.
Stars: ✭ 32 (-87.45%)
Mutual labels:  rss, feed
feedsearch-crawler
Crawl sites for RSS, Atom, and JSON feeds.
Stars: ✭ 23 (-90.98%)
Mutual labels:  rss, feed
html2rss-web
🕸 Generates and delivers RSS feeds via HTTP. Create your own feeds or get started quickly with the included configs.
Stars: ✭ 36 (-85.88%)
Mutual labels:  rss, feed
watch-rss
Subscribe your watched GitHub Repository's releases as RSS feeds on Inoreader
Stars: ✭ 24 (-90.59%)
Mutual labels:  rss, feed
meta-extractor
Super simple and fast html page meta data extractor with low memory footprint
Stars: ✭ 38 (-85.1%)
Mutual labels:  rss, feed
Feedly-Export-Save4Later
Working script for latest feedly design. Including title, url, summary, time, sourceTitle & sourceUrl
Stars: ✭ 23 (-90.98%)
Mutual labels:  rss, feed
f43.me
A more readable & cleaner feed
Stars: ✭ 60 (-76.47%)
Mutual labels:  rss, feed
buran
Bidirectional, data-driven RSS/Atom feed consumer, producer and feeds aggregator
Stars: ✭ 27 (-89.41%)
Mutual labels:  rss, feed
gitbook-plugin-rss
RSS for your gitbook
Stars: ✭ 19 (-92.55%)
Mutual labels:  rss, feed
awesome-feeds
A curated list of tech, machine learning, biz and etc... feeds
Stars: ✭ 25 (-90.2%)
Mutual labels:  rss, feed
vuepress-plugin-feed
RSS, Atom, and JSON feeds generator plugin for VuePress 1.x
Stars: ✭ 46 (-81.96%)
Mutual labels:  rss, feed
awesome-rss-feeds
Awesome RSS feeds - A curated list of RSS feeds (and OPML files) used in Recommended Feeds and local news sections of Plenary - an RSS reader, article downloader and a podcast player app for android
Stars: ✭ 114 (-55.29%)
Mutual labels:  rss, feed
feed2email
RSS/Atom feed updates in your email
Stars: ✭ 37 (-85.49%)
Mutual labels:  rss, feed
baRSS
Menu Bar RSS reader for macOS
Stars: ✭ 39 (-84.71%)
Mutual labels:  rss, feed
feeds-to-pocket
Sends entries from RSS and Atom feeds to Pocket (https://getpocket.com)
Stars: ✭ 24 (-90.59%)
Mutual labels:  rss, feed
laminas-feed
Consume and generate Atom and RSS feeds, and interact with Pubsubhubbub.
Stars: ✭ 97 (-61.96%)
Mutual labels:  rss, feed
podcast-feed-parser
A highly customizable package for fetching and parsing podcast feeds into simple and manageable JavaScript objects. For use with node or in the browser.
Stars: ✭ 39 (-84.71%)
Mutual labels:  rss, feed
microblog
A very simple PHP app that stores twitter-like status updates in a sqlite database.
Stars: ✭ 30 (-88.24%)
Mutual labels:  rss, feed

Infomate.club

Build Status GitHub license GitHub contributors

Infomate is a small web service that shows multiple RSS sources on one page and performs tricky parsing and summarizing articles using TextRank algorithm.

It helps to keep track of news from different areas without subscribing to hundreds of media accounts and getting annoying notifications.

Thematic and people-based collections does a really good job for discovery of new sources of information. Since we all are biased, such compilations can really help us to get out of information bubbles.

Live URL: infomate.club

This is a pet-project 🐶

Which means you really shouldn't expect much from it. I wrote it over the weekend to solve my own pain. No state-of-art kubernetes bullshit, no architecture patterns, even no tests at all. It's here just to show people what a pet-project might look like.

This code has been written for fun, not for business. There is usually a big difference. Like between riding a bike on the streets and cycling in the wild for fun :)

How it works

It's basically a Django web app with a bunch of scripts for RSS parsing. It stores the parsed data in a PostgreSQL database.

The web app is only used to show the data (with heavy caching). Parsing and feed updates are performed by the three scripts running in cron. Like poor people do.

Feedparser and BeautifulSoup are used to find, download and parse RSS.

Text summarization is done via newspaper3k with some additional protection against bad types of content like podcasts and too big pages in general, which can eat all your memory. Anything can happen in the RSS world :)

Running it locally

The easy way. Install docker on your machine. Then:

git clone [email protected]:vas3k/infomate.club.git
cd infomate.club
docker-compose up --build

After that navigate to localhost:8000

To terminate it:

docker-compose down --remove-orphans

Running for development

Make sure you have python3 and postresql installed locally.

Step 1: Install requirements

pip3 install -r requirements.txt --user

Step 2: Create a database structure

python3 manage.py migrate

Step 3: Take a look at boards.yml

This is the main source of truth for all RSS streams and collections in the service. All updates to the database are made through it. For the first time you can just use the existing one.

Step 4: Initialize your feeds

python3 scripts/initialize.py --config boards.yml

Every time you make a change to boards.yml, just run this script again. He is smart enough to create the missing ones and remove the old ones.

Step 5: Fetch some articles

python3 scripts/update.py

Don't run it too often, otherwise sites may ban your IP. There is a hardcoded cooldown interval for each feed, but you can use --force flag to ignore it.

Step 6: Run dev server

python3 manage.py runserver 8000

Then go to localhost:8000 again

boards.yml format

boards:
- name: Tech            # board title
  slug: tech            # board url
  is_visible: true      # visibility on the main page
  is_private: false     # private boards require logging in
  curator:              # board author profile
    name: John Wick 
    title: Main news
    avatar: https://i.vas3k.ru/fhr.png 
    bio: Major technology media in English and Russian
    footer: >
      this is a general selection of popular technology media.
      The page is updated once per hour.
  blocks:               # list of logical feed blocks
  - name: English       # block title
    slug: en            # unique board id
    feeds:         
      - name: Hacker News
        url: https://news.ycombinator.com
        rss: https://news.ycombinator.com/rss
      - name: dev.to
        url: https://dev.to
        rss: https://dev.to/feed
      - name: TechCrunch
        rss: http://feeds.feedburner.com/TechCrunch/
        url: https://techcrunch.com
        is_parsable: false  # do not try to parse pages, show RSS content only
        conditions:
          - type: not_in
            field: title
            word: Trump   # exclude articles with a word "Trump" in title

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

You can help us with opened issues too. There's always something to work on.

We don't have any strict rules on formatting, just explain your motivation and the changes you've made to the PR description so that others understand what's going on.

License

Apache 2.0 © Vasily Zubarev

TL;DR: you can modify, distribute and use it commercially, but you MUST reference the original author or give a link to service

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].