Code Monkey home page Code Monkey logo

npr2spotify's Introduction

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.

πŸŒŽπŸ‘©πŸ½β€πŸ€β€πŸ‘©πŸΏπŸ‘¨πŸ»β€πŸ€β€πŸ‘¨πŸΌπŸ‘«πŸ»πŸ§‘πŸ»β€πŸ€β€πŸ§‘πŸΎπŸ‘­πŸΌπŸ‘«πŸ½πŸ‘­πŸ‘¬πŸΏπŸ‘¬πŸΌπŸ§‘πŸ»β€πŸ€β€πŸ§‘πŸΏπŸ§‘β€πŸ€β€πŸ§‘πŸ‘©πŸΎβ€πŸ€β€πŸ‘©πŸΌπŸ§‘πŸΏβ€πŸ€β€πŸ§‘πŸΏπŸ‘«πŸ‘©πŸ»β€πŸ€β€πŸ‘©πŸΏπŸ‘¬πŸ§‘πŸ½β€πŸ€β€πŸ§‘πŸΎπŸ‘«πŸΏπŸ“»

npr2spotify's People

Contributors

sockemboffer avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

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.