Wieder eine Spotify Playliste: Alle (neuen) Songs aus den Maus Podcasts

Meine Tochter hört schon lange den Maus Podcast. Im Podcast gibt es nicht nur tolle Geschichten sondern auch einen schönen Mix an Kinderliedern.

Und natürlich fragt sie immer mal wieder nach bestimmten Liedern. Wenn es nur eine Playlist gäbe,  in der alle Lieder gesammelt werden. Zum einen kann man dann deutlich einfacher ein bestimmtes Lied finden, zum anderen kann man die Playlist auch einfach so durchlaufen lassen wenn man im Auto oder zuhause Musik für die Kleinen braucht.

Zum Glück gibt es unter https://kinder.wdr.de/hoerensehen/maus-zum-hoeren-playlist-106.html eine Liste welche Lieder in den letzten Podcasts gespielt wurden.

Und nun gibt es auch eine passende Spotify Playlist!

Mein Bot fügt täglich die neuen Folgen hinzu. Wer wissen möchte wie das ganze geht findet hier den Python Code.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import requests
from bs4 import BeautifulSoup
from pprint import pprint
import spotipy
import spotipy.util as util

scope = (‚user-library-read user-library-modify playlist-read-private playlist-modify-public ‚
‚playlist-modify-private playlist-read-collaborative user-follow-modify user-follow-read ‚
‚user-read-private user-read-email‘)

username = ‚XXXXXXXXXXXXXXXXX‘
token = util.prompt_for_user_token(username,
scope,
client_id=’XXXXXXXXXXXXXXXX‘,
client_secret=’XXXXXXXXXXXXXXXX‘,
redirect_uri=’http://localhost‘)

if token:
spotify = spotipy.Spotify(auth=token)

url = „https://kinder.wdr.de/hoerensehen/maus-zum-hoeren-playlist-106.html“

# https://open.spotify.com/playlist/4FqLy2Rfv6x2pKncAzenv9?si=ae1c8a2c676949d9
playlist = „4FqLy2Rfv6x2pKncAzenv9″
results = spotify.user_playlist_tracks(username,playlist)
playlist_tracks = results[‚items‘]
while results[’next‘]:
results = spotify.next(results)
playlist_tracks.extend(results[‚items‘])

response = requests.get(url)

if response.status_code == 200:
soup = BeautifulSoup(response.content, ‚html.parser‘)
elements = soup.find_all(‚p‘, class_=’text small‘)
elements = [element for element in elements if “ – “ in element.text]
element_list = [element.text.rsplit(‚ – ‚, 1) for element in elements]

for interpret, song in element_list:
query = „track:“ + song + “ artist:“ + interpret

results = spotify.search(q=query, type=’track‘, limit=1)
if results[‚tracks‘][‚items‘]:
track_uri = results[‚tracks‘][‚items‘][0][‚uri‘]

for item in playlist_tracks:
if item[‚track‘][‚uri‘] == track_uri:
break
else:
spotify.playlist_add_items(playlist, [track_uri])
print(„Song hinzugefügt:“ + query)
new_track_info = spotify.track(track_uri)
playlist_tracks.append({‚track‘: new_track_info})

else:
print(„Fehler beim Abrufen der Webseite. Statuscode:“, response.status_code)

Täglich ein zufälliges Hörspiel auf Spotify

Einerseits ist es ja wirklich toll, dass wir bzw. unsere Kinder heute dank Spotify und anderen Streamingdiensten Zugriff auf die kompletten Kataloge von Benjamin Blümchen, Bibi Blocksberg und Co haben. Für uns gibt es regelmässig neue Folgen der drei ??? und ich höre auch gerne regelmässig noch alte Folgen zum Einschlafen. So ist das eben wenn man ein Kind in den 80ern war.

Ich weiß noch wie ich früher entweder selber einfach eine zufällige Kassette aus der Schublade gezogen habe oder meine Eltern mir eine Folge ausgesucht haben. Die ersten Minuten habe ich dann immer versucht zu erraten welche Folge das wohl sein könnte. Einige der alten Folgen erkenne ich daher immer noch innerhalb der ersten 60 Sekunden. Aber wie will man in Zeiten von Spotify eine zufällige Folge aussuchen? Ganz einfach: man „hackt“ was!

„Täglich ein zufälliges Hörspiel auf Spotify“ weiterlesen