Skip to content

NPR to Spotify parses Morning, Weekend Edition, and All Things Considered interlude music into public playlists for others to enjoy. Support your local NPR station today!

Notifications You must be signed in to change notification settings

Sockemboffer/NPR2Spotify

Repository files navigation

npr2spotifylogo

NPR2Spotify

Generally, this program parses NPR Morning Edition, Weekend Edition, and All Things Considered and creates a Spotify Playlist for that day's interlude music. It's not perfect at matching for various reasons like human error and my ad-hoc matching logic. Assumes you have a free spotify developer account, uses OAuth2, and spotify user permissions to create/modify playlists.

========= Notice #2 =====

Sadly NPR has stopped putting up their Artist and song title information last year. This project is sleeping for now. I might kick around the idea of trying again with some sort of Shazam API to id songs from their show audio recordings. :(

========= Notice ========

*** I've discovered that Spotify only shows the most recent 200 playlists publicly. If you use a link from the archive data you can view any of them. I'm working on a temperary solution in the meantime. If you're able, support with a vote here All Platforms Playlists Get Rid of 200 Public Playlist Limit, voting can still help a closed issue. ***

=======================

Morning and Weekend Edition playlists all public: NPR MoWeEd

All Things Considered playlists all now public: NPR ATC

Follow on Twitter: @NPR2Spotify

/showname Article Data/ - Each day's output for each year

/showname Article Link Cache/ - Output that feeds day links into Main.py below.

NPRPageParser.py - Takes in an NPR show link and saves out to json files various info about that day including any track information.

NPRPlaylistCreator.py - Various methods to create, update description, add tracks.

NPRSpotifySearch.py - My system for trying to get a decent amount of search results to then parse and find a good track match.

Main.py - Entry point (that's gross looking.)


  • Create a dependiencies manifest.
  • Make more pythonic all around.
  • Automate to run daily.
  • Automate twitter posts

Problem

Would take a long time (like, 95ish days non-stop for one person) to go verify and create playlists for NPR's Morning and Weekend Edition interludes. While this little project took near 2 years to complete, I was able to learn some more about programming and Python.

One of my first programming projects. I'm new to GitHub and Python.

Suggestions welcomed. Go easy on me and Enjoy!

Donate to NPR today!

Support your local NPR station today.

Morning Edition

Weekend Edition Saturday

Weekend Edition Sunday

All Things Considered

Thanks

My pal at MBGameDev for holding my hand a couple-few times.

AND

TheComeUpCode for giving me my first steps into Web APIs! Check out her helpful videos.

🌎👩🏽‍🤝‍👩🏿👨🏻‍🤝‍👨🏼👫🏻🧑🏻‍🤝‍🧑🏾👭🏼👫🏽👭👬🏿👬🏼🧑🏻‍🤝‍🧑🏿🧑‍🤝‍🧑👩🏾‍🤝‍👩🏼🧑🏿‍🤝‍🧑🏿👫👩🏻‍🤝‍👩🏿👬🧑🏽‍🤝‍🧑🏾👫🏿📻

About

NPR to Spotify parses Morning, Weekend Edition, and All Things Considered interlude music into public playlists for others to enjoy. Support your local NPR station today!

Topics

Resources

Stars

Watchers

Forks

Languages