← All projects

Sole Developer · 2020-2021

Apple Playlist Exporter

Stack: Selenium, Beautiful Soup

Source ↗

Motivation

A popular service but one that I do not use. However I have lots of family and friends with Apple accounts which have playlists that are locked to this service. The purpose of this tool is to create a stepping stone into importing and archiving these playlists for anyone that does not use Apple's services

Approach

Overall Logic structure is as follows:

  • User is prompted for the apple playlist URL
  • A log detailing playlists that have been saved is updated
  • User is prompted to pick a method of fetching the HTML page to be parsed
    • Method 1: Using a cached local copy
    • Method 2: Using Selenium to fetch the page using gecko, the webdriver. It then caches the page
  • The parsing algorithm extracts details about each track and displays this info in the terminal

Features

  • First project where an independent python package was created as a dependency for the project
  • Advanced Json parsing and file saving logic was implemented and used for the logging system
  • Locally Cached files reduce retry attempt times dramatically

Links