RSS: YouTube Channel Feeds

I’ve remarked before about how I love Newsblur as a replacement for Google Reader. But Newsblur can also watch for new YouTube videos via YouTube RSS feeds!

RSS support is not always clearly advertised on YouTube, but it’s simple to access. In NewsBlur, right click a folder and select Add A Site To This Folder:

Newsblur screenshot: add a new site to this folder.

Then just insert the YouTube channel URL, and NewsBlur should load the newest YouTube videos!

Add a New Site option in NewsBlur

This is a quick and easy way for me to monitor a lot of YouTube channels at once.

NewsBlur: Iterating Through A Folder’s RSS Feed

After Google Reader was shut down, I moved to NewsBlur to follow my RSS feeds. The great thing about NewsBlur is that you can add RSS feeds to a folder and Newsblur will merge all the stories under that folder into a single RSS feed.

Under NewsBlur, you’ll want to pull the folder RSS feed from the settings option:

NewsBlur settings option - the folder RSS URL is at the bottom.

The following Python code can pull the feed and iterate through it to find article information. At the bottom of this code example, each child represents a possible article, and sub_child represents a property on the article: the URL, the title, etc. I use a variant of this code to help identify important news stories.

import requests
import xml.etree.ElementTree as ET
import logging
import datetime, pytz
import json
import urllib.parse

#tears through the newsblur folder xml searching for <entry> items
def parse_newsblur_xml():
    r = requests.get('NEWSBLUR_FOLDER_RSS')
    if r.status_code != 200:
        print("ERROR: Unable to retrieve address ")
        return "error"
    xml = r.text
    xml_root = ET.fromstring(xml)
    #we search for <entry> tags because each entry tag stores a single article from a RSS feed
    for child in xml_root:
        if not child.tag.endswith("entry"):
            continue
        #if we are down here, the tag is an entry tag and we need to parse out info
        #Grind through the children of the <entry> tag
        for sub_child in child:
            if sub_child.tag.endswith("category"): #article categories
                #call sub_child.get('term') to get categories of this article
            elif sub_child.tag.endswith("title"): #article title
                #call sub_child.text to get article title
            elif sub_child.tag.endswith("summary"): #article summary
                #call sub_child.text to get article summary
            elif sub_child.tag.endswith("link"):
                #call sub_child.get('href') to get article URL

Why I Love NewsBlur – Folder RSS

After the closure of Google Reader – which I was a big fan of – I moved all of my RSS feeds to NewsBlur. One of the reasons I moved to NewsBlur is that it has a full API and is very easy to interface with!

For instance, folder feeds are available and don’t require authentication, making it easy for an app to merge multiple RSS feeds and treat them as one. For example: in NewsBlur, I’ve created a folder called economy and set up multiple feeds (New York Times, Forbes, Washington Post Business) underneath that folder, like so:

A Newsblur folder containing multiple feeds.
A Newsblur folder containing multiple feeds.

Right clicking the folder name and clicking folder settings pops up the folder settings tab. The URLs listed in the Feed Address section return a RSS list with all of the items from the feeds combined into a single feed. Even better: the URL supplied doesn’t require authentication, so an application can read it instead of having to poll 5 separate RSS feeds.

Newsblur folder settings screenshot.