Music

Music

Favorites

Artists

Albums

To Acquire

By Year

2024 AOTY

2024 Unreleased, Unlistened

2024 Others

2023 AOTY

2023 Others

2023 Unreleased or Unlistened

2022 AOTY

2022 Others

2022 Unreleased / Unlistened

2021 AOTY

2021 Others

2020 AOTY

2020 Others

2020 Unlistened

2019 AOTY

2019 Others

2019 Unlistened

Look at these:

2018 AOTY

2018 Others

2017 AOTY

2016 AOTY

2015 AOTY

1992

By Genre

Jazz

New Stuff

Classic

Prog, Fusion, Free Jazz etc.

Noise

Microtonal / Xenharmonic

World / Folk / Newage

Lounge, Trip Hop, etc.

Math Rock

Bedroom Pop, Synth Pop, Experimental Pop

Classical

Composed, Notated, Orchestral

Opera

Flamenco

Guitarists

Spanish

French / Chanson

Portuguese

Turkish

Russian

African

Japanese, City Pop, etc.

Yokos

Gospel Music

Saturday night and sunday morning (radio show)

Synth

Genres

Songs

From the Radio

radiofrance

Black Flower - Artifacts

To Listen To

Misc

From the past

Recs

Robbie

Sam

Carlos

David & Talia

Ben K

Kaitlin

Kyla

Sunny

Casey

Lewie

John

Quinn

Nathan

Jack

AC

Anne-Marie

Josh

Clint

IRC

/mu

YT

Magnatune

Misc ★

Extract artist, track, and album names from spotify playlist

var links = document.querySelectorAll('a')
var artists = [];
var albums = [];
var tracks = [];
links.forEach(link => {
   if (/\/artist\//.test(link.href)) {
       // console.log(link.innerText);
       artists.push(link.innerText);
   }
   if (/\/track\//.test(link.href)) {
       // console.log(link.innerText);
       tracks.push(link.innerText);
   }
   if (/\/album\//.test(link.href)) {
       // console.log(link.innerText);
       albums.push(link.innerText);
   }
});
console.log(artists);
console.log(tracks);
console.log(albums);

or better:

var rows = document.querySelectorAll('[role="row"]');
var songs = [];
rows.forEach(row => {
   if (row.childElementCount == 1) {
       songs.push({
           "name": row.childNodes[0].childNodes[1].childNodes[1].childNodes[0].childNodes[0].innerText,
           "artist": row.childNodes[0].childNodes[1].childNodes[1].childNodes[1].childNodes[0].innerText,
           "album": row.childNodes[0].childNodes[2].childNodes[0].childNodes[0].innerText
       });
   }
});

// console.log(songs);
console.log(JSON.stringify(songs));

copy pasta and convert to csv:

vim evening_wind.json
# as CSV:
jq -r '.[] | [.name, .artist, .album] | @csv' evening_wind.json
jq '.[] | [.name, .artist, .album] | @csv' evening_wind.json > evening_wind.csv
# or as TSV:
jq -r '.[] | [.name, .artist, .album] | @tsv' evening_wind.json
jq '.[] | [.name, .artist, .album] | @tsv' evening_wind.json > evening_wind.tsv