diff --git a/Untitled.ipynb b/Untitled.ipynb new file mode 100644 index 0000000..a06c9e8 --- /dev/null +++ b/Untitled.ipynb @@ -0,0 +1,2733 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "0c07a994", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import spotipy\n", + "from spotipy.oauth2 import SpotifyClientCredentials\n", + "import time" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "2622c931", + "metadata": {}, + "outputs": [], + "source": [ + "sp = spotipy.Spotify(auth_manager=SpotifyClientCredentials(client_id=\"609b2df1fce5457eaf050c6c16248fa0\",\n", + " client_secret=\"624f5460987444a28e9c449f5e4d77ac\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "41d4c985", + "metadata": {}, + "outputs": [], + "source": [ + "# the longest classic rock playlist (diverse within genre 'classic rock')\n", + "results = sp.user_playlist_tracks(\"spotify\", \"7jISe26ax1OT0xfXqC32DE\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "5599a34a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "446" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results[\"total\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "2aa75d70", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys(['href', 'items', 'limit', 'next', 'offset', 'previous', 'total'])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results.keys()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "cff5e9fc", + "metadata": {}, + "outputs": [], + "source": [ + "def get_playlist_tracks(username, playlist_id):\n", + " \n", + " results = sp.user_playlist_tracks(username, playlist_id)\n", + " tracks = results['items']\n", + " \n", + " while results['next']:\n", + " results = sp.next(results)\n", + " tracks.extend(results['items'])\n", + " \n", + " return tracks\n", + "\n", + "tracks = get_playlist_tracks(\"spotify\", \"7jISe26ax1OT0xfXqC32DE\")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "fa77a418", + "metadata": {}, + "outputs": [], + "source": [ + "def get_artists_from_playlist(playlist_id):\n", + " \n", + " tracks_from_playlist = get_playlist_tracks(\"spotify\", playlist_id)\n", + " \n", + " artists = []\n", + " \n", + " for track in tracks_from_playlist:\n", + " artists_info = track['track']['artists']\n", + " \n", + " for artist_info in artists_info:\n", + " artists.append(artist_info['name'])\n", + " \n", + " return list(set(artists))" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "138e50ff", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Thin Lizzy',\n", + " 'Aerosmith',\n", + " 'David Bowie',\n", + " 'Twisted Sister',\n", + " 'Fleetwood Mac',\n", + " 'Allman Brothers Band',\n", + " 'George Thorogood & The Destroyers',\n", + " 'The Beach Boys',\n", + " 'Ram Jam',\n", + " 'The Who',\n", + " 'The Beatles',\n", + " 'Supertramp',\n", + " 'Quiet Riot',\n", + " 'Cheap Trick',\n", + " 'Joan Jett & The Blackhearts',\n", + " 'Foreigner',\n", + " 'Alice Cooper',\n", + " 'Bon Jovi',\n", + " 'Heart',\n", + " 'Styx',\n", + " 'Pat Benatar',\n", + " 'The Doors',\n", + " 'George Harrison',\n", + " 'Don McLean',\n", + " 'The Black Crowes',\n", + " 'John Mellencamp',\n", + " 'Rick James',\n", + " 'KISS',\n", + " 'Eric Clapton',\n", + " 'AC/DC',\n", + " 'Santana',\n", + " 'Nirvana',\n", + " 'The Kinks',\n", + " 'Grand Funk Railroad',\n", + " 'Ramones',\n", + " 'The Cars',\n", + " 'Robert Palmer',\n", + " 'The Clash',\n", + " 'The J. Geils Band',\n", + " 'Joe Walsh',\n", + " 'Deep Purple',\n", + " 'James Gang',\n", + " 'David Lee Roth',\n", + " 'Mötley Crüe',\n", + " 'Iron Butterfly',\n", + " 'Glenn Frey',\n", + " 'Elvis Presley',\n", + " 'Bob Seger',\n", + " 'Lynyrd Skynyrd',\n", + " 'Eddie Money',\n", + " 'The Runaways',\n", + " 'Rod Stewart',\n", + " 'Black Sabbath',\n", + " 'Stealers Wheel',\n", + " 'The Doobie Brothers',\n", + " 'Bachman-Turner Overdrive',\n", + " 'Dion',\n", + " 'Night Ranger',\n", + " 'Boston',\n", + " 'Eagles',\n", + " 'Steely Dan',\n", + " 'Don Henley',\n", + " 'Joe Perry',\n", + " 'Ozzy Osbourne',\n", + " 'The Knack',\n", + " 'Queen',\n", + " 'Rick Springfield',\n", + " 'Foghat',\n", + " 'Jimi Hendrix',\n", + " 'The Charlie Daniels Band',\n", + " 'The Rolling Stones',\n", + " 'Pink Floyd',\n", + " 'Billy Squier',\n", + " 'Wild Cherry',\n", + " 'Bruce Springsteen',\n", + " 'Tom Petty',\n", + " 'Looking Glass',\n", + " 'Van Halen',\n", + " 'Billy Idol',\n", + " 'Frankie Valli & The Four Seasons',\n", + " 'Roy Orbison',\n", + " 'T. Rex',\n", + " 'The Romantics',\n", + " 'Wings',\n", + " 'Cream',\n", + " 'Electric Light Orchestra',\n", + " 'The Surfaris',\n", + " 'Billy Joel',\n", + " 'Derek & The Dominos',\n", + " 'The Troggs',\n", + " 'ZZ Top',\n", + " 'Steven Tyler',\n", + " 'Ratt',\n", + " 'Steppenwolf',\n", + " 'Def Leppard',\n", + " 'Spin Doctors',\n", + " 'The Guess Who',\n", + " 'Rush',\n", + " 'Sammy Hagar',\n", + " 'October Country',\n", + " 'Led Zeppelin',\n", + " 'Poison',\n", + " 'Blue Öyster Cult',\n", + " 'Chuck Berry',\n", + " 'Kansas',\n", + " 'Whitesnake',\n", + " 'Bad Company',\n", + " 'Jerry Lee Lewis',\n", + " 'Steve Miller Band',\n", + " 'Tom Petty and the Heartbreakers',\n", + " 'Rick Derringer',\n", + " 'Yes']" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "artists = get_artists_from_playlist(\"7jISe26ax1OT0xfXqC32DE\")\n", + "artists" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "1e850e0f", + "metadata": {}, + "outputs": [], + "source": [ + "def get_artists_ids_from_playlist(playlist_id):\n", + " \n", + " tracks_from_playlist = get_playlist_tracks(\"spotify\", playlist_id)\n", + " \n", + " artists_ids = []\n", + " \n", + " for track in tracks_from_playlist:\n", + " artists_info = track['track']['artists']\n", + " \n", + " for artist_info in artists_info:\n", + " artists_ids.append(artist_info['id'])\n", + " \n", + " return list(set(artists_ids))" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "36415427", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['4salDzkGmfycRqNUbyBphh',\n", + " '2rc78XDH9zuJP6bm78lU8Z',\n", + " '0JDkhL4rjiPNEp92jAgJnS',\n", + " '6PAt558ZEZl0DmdXlnjMgD',\n", + " '293zczrfYafIItmnmM3coR',\n", + " '0cc6vw3VN8YlIcvr1v7tBL',\n", + " '6x33CmZWo2Ve4hxYl2Craq',\n", + " '3WrFJ7ztbogyGnTHbHJFl2',\n", + " '2UZMlIwnkgAEDBsw1Rejkn',\n", + " '3sFhA6G1N0gG1pszb6kk1m',\n", + " '4apX9tIeHb85yPyy4F6FJG',\n", + " '22WZ7M8sxp5THdruNY3gXt',\n", + " '5AEG63ajney2BoDXi0Vb84',\n", + " '0KyCXNSa7ZMb5LydfKbLG3',\n", + " '6H1RjVyNruCmrBEWRbD0VZ',\n", + " '5hfOHpGMsi8O3DA0ROLGqF',\n", + " '7Ey4PD4MYsKc5I2dolUwbH',\n", + " '6IFXsrXBpwbIqtOUOiAa3p',\n", + " '69Mj3u4FTUrpyeGNSIaU6F',\n", + " '2AM4ilv6UzW0uMRuqKtDgN',\n", + " '08GQAI4eElDnROBrJRGE0X',\n", + " '776Uo845nYHJpNaStv1Ds4',\n", + " '7jefIIksOi1EazgRTfW2Pk',\n", + " '3dBVyJ7JuOMt4GE9607Qin',\n", + " '6FITmSxIMsk6TfulFiCIIz',\n", + " '3JsMj0DEzyWc0VDlHuy9Bx',\n", + " '12d4iIvTOk7JkI6ecvc3ca',\n", + " '0FrpdcVlJQqibaz5HfBUrL',\n", + " '39T6qqI0jDtSWWioX8eGJz',\n", + " '3vMWY1bUrmYoSoEWLiQWOZ',\n", + " '6P7H3ai06vU1sGvdpBwDmE',\n", + " '32zks9ovi0IExzUd1C7W6o',\n", + " '4tX2TplrkIP4v05BNC903e',\n", + " '1dLWg6m8RRhizsdqJbhyj3',\n", + " '3Fz2GbraVXhcpXnoi2Oe1r',\n", + " '5dbuFbrHa1SJlQhQX9OUJ2',\n", + " '58lV9VcRSjABbAbfWS6skp',\n", + " '15FyiY3ChN0QRspHIQYq0W',\n", + " '2PSiyldxmJze7xiqbz658m',\n", + " '5q4AzEtCoYJyXjMMoEkSU5',\n", + " '0qEcf3SFlpRcb3lK3f2GZI',\n", + " '7lzordPuZEXxwt9aoVZYmG',\n", + " '2Hkut4rAAyrQxRdof7FVJq',\n", + " '711MCceyCBcFnzjGY4Q7Un',\n", + " '7FIoB5PHdrMZVC3q2HE5MS',\n", + " '1hXjTjJzZTXDZ75AclOo6N',\n", + " '2zyz0VJqrDXeFDIyrfVXSo',\n", + " '0oSGxfWSnnOXhD2fKuz2Gy',\n", + " '2cnMpRsOVqtPMfq7YiFE6K',\n", + " '530Sdm7eqqzWBdDmILMgnu',\n", + " '39vhAmLwYOIzrPkvVYNdq9',\n", + " '3oDbviiivRWhXwIE8hxkVV',\n", + " '3UbyYnvNIT5DFXU4WgiGpP',\n", + " '29kkCKKGXheHuoO829FxWK',\n", + " '6biWAmrHyiMkX49LkycGqQ',\n", + " '485uL27bPomh29R4JmQehQ',\n", + " '1FX4aA0cUcWndv39j1YoTm',\n", + " '5krkohEVJYw0qoB5VWwxaC',\n", + " '1SQRv42e4PjEYfPhS0Tk9E',\n", + " '1fBCIkoPOPCDLUxGuWNvyo',\n", + " '3RGLhK1IP9jnYFH4BRFJBS',\n", + " '00tVTdpEhQQw1bqdu8RCx2',\n", + " '3tufWJzpCiAGleBt5TkmTn',\n", + " '2y8Jo9CKhJvtfeKOsYzRdT',\n", + " '4wQ3PyMz3WwJGI5uEqHUVR',\n", + " '1dfeR4HaWDbWqFHLkxsg1d',\n", + " '1LB8qB5BPb3MHQrfkvifXU',\n", + " '3cdvlbCYf4WoBdy89RWkNS',\n", + " '57xdnSVt4ahJCIXYLieQ25',\n", + " '5jJN1nmKXzRjodMl1THQeI',\n", + " '0k17h0D3J5VfsdmQ1iZtE9',\n", + " '2hl0xAkS2AIRAu23TVMBG1',\n", + " '4n31svBA9GGIYxGxgrQaRK',\n", + " '43mhFhQ4JAknA7Ik1bOZuV',\n", + " '6olE6TJLqED3rqDCT0FyPh',\n", + " '0ECwFtbIWEVNwjlrfc6xoL',\n", + " '7AC976RDJzL2asmZuz7qil',\n", + " '6DCIj8jNaNpBz8e5oKFPtp',\n", + " '43ZHCT0cAZBISjO8DG9PnE',\n", + " '3lPQ2Fk5JOwGWAF3ORFCqH',\n", + " '3daM7asS0gCFvyLemNx2EE',\n", + " '6GI52t8N5F02MxU0g5U69P',\n", + " '4Tw2N3wdvJPGEU7JqMxFfE',\n", + " '6zFYqv1mOsgBRQbae3JJ9e',\n", + " '4MVyzYMgTwdP7Z49wAZHx0',\n", + " '74oJ4qxwOZvX6oSsu1DGnw',\n", + " '1co4F2pPNH8JjTutZkmgSm',\n", + " '36QJpDe2go2KgaRleHCDTp',\n", + " '5bDxAyJiTYBat1YnFJhvEK',\n", + " '0Nn9YwJzcaeuU1jJL06e3r',\n", + " '3eqjTLE0HfPfh78zjh6TqT',\n", + " '6gZVflqhSHhG3MjYrf1dOv',\n", + " '22bE4uQ6baNwSHPVcDxLCe',\n", + " '6IRouO5mvvfcyxtPDKMYFN',\n", + " '6mcrZQmgzFGRWf7C0SObou',\n", + " '6QtGlUje9TIkLrgPZrESuk',\n", + " '5M52tdBnJaKSvOpJGz8mfZ',\n", + " '1Fmb52lZ6Jv7FMWXXTPO3K',\n", + " '07XSN3sPlIlB2L2XNcTwJw',\n", + " '1gRNBaI4yn6wCCTvRhGWh8',\n", + " '1WRM9i067hd2ujxxi8FI3m',\n", + " '1Ha0Fz4i0d4gu5fZbhBCtH',\n", + " '568ZhdwyaiCyOGJRtNYhWf',\n", + " '67ea9eGLXYMsO2eYQRui3w',\n", + " '7bPU7cvfoD20ixGD9Qnqki',\n", + " '34jw2BbxjoYalTp8cJFCPv',\n", + " '3EhbVgyfGd7HkpsagwL9GS',\n", + " '0cQuYRSzlItquYxsQKDvVc',\n", + " '6ZLTlhejhndI4Rh53vYhrY',\n", + " '1SDxIHIJ3wvYiG22xckLKL',\n", + " '5eTq3PxbOh5vgeRXKNqPyV',\n", + " '7b85ve82Sh36a3UAx74wut']" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "artists_ids = get_artists_ids_from_playlist(\"7jISe26ax1OT0xfXqC32DE\")\n", + "artists_ids" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "ed866560", + "metadata": {}, + "outputs": [], + "source": [ + "def get_albums_from_artist(playlist_id):\n", + " artists_ids_from_playlist = get_artists_ids_from_playlist(playlist_id)\n", + " artist_album_names = []\n", + " artist_album_uris = []\n", + " for artist in artists_ids_from_playlist:\n", + " results = sp.artist_albums(artist, album_type='album')\n", + " for i in range(len(results['items'])):\n", + " artist_album_names.append(results['items'][i]['name'])\n", + " artist_album_uris.append(results['items'][i]['uri'])\n", + " return list(set(artist_album_names)), list(set(artist_album_uris))" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "af4dce7a", + "metadata": {}, + "outputs": [], + "source": [ + "artist_album_names, artist_album_uris = get_albums_from_artist(\"7jISe26ax1OT0xfXqC32DE\")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "dc5d59f8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Saints of Los Angeles',\n", + " 'The Studio Albums 1975 - 2001',\n", + " 'The Who Sell Out (Super Deluxe)',\n", + " 'At The Kit Kat Klub (Live New York 99)',\n", + " 'The Definitive Collection',\n", + " 'Rag Doll',\n", + " 'Extraterrestrial Live',\n", + " 'Band On The Run (Archive Collection)',\n", + " 'Fleetwood Mac (2017 Remaster)',\n", + " 'Freeways',\n", + " 'Hartford, Ct 8-3-03',\n", + " 'Whiskey In The Jar',\n", + " 'Mojo',\n", + " 'Building The Perfect Beast',\n", + " 'Club Daze, Volume II: Live in the Bars',\n", + " 'Houses of the Holy (Remaster)',\n", + " 'Stiff Upper Lip',\n", + " 'The Classic 1980 Broadcasts',\n", + " 'Chuck Berry In Memphis',\n", + " 'Darien Center, NY 8-2-03',\n", + " 'Balance',\n", + " 'On Air',\n", + " 'Dehumanizer',\n", + " 'Revolver (Remastered)',\n", + " 'State of Confusion',\n", + " 'Brain Drain',\n", + " \"Jeff Lynne's ELO - From Out Of Nowhere\",\n", + " 'Pittsburgh, Pa 7-26-03',\n", + " 'Rocky Mountain Way',\n", + " 'Strictly Personal',\n", + " 'Alive! 1975-2000',\n", + " 'Live at The Agora, 1978',\n", + " 'Eldorado',\n", + " 'After Hours (Deluxe)',\n", + " '1967 - Sunshine Tomorrow 2 - The Studio Sessions',\n", + " \"Waitin' For The Night\",\n", + " 'Two Against Nature',\n", + " 'Live At Monterey',\n", + " 'Innamorata',\n", + " \"Down in Texas '71 (Live)\",\n", + " 'Come Out and Play',\n", + " 'Mirror Ball - Live & More',\n", + " 'The Tale Of The Tape',\n", + " 'Cult Classic (Remastered)',\n", + " 'ライヴ・イン・テネシー / カリフォルニア 1974 (Live)',\n", + " 'Pocket Full Of Kryptonite (Anniversary Edition)',\n", + " 'Winterland',\n", + " 'Strange Days',\n", + " 'For Ladies Only',\n", + " 'A Decade Of Steely Dan',\n", + " 'A Night at the Odeon',\n", + " 'Retrospectacle - The Supertramp Anthology',\n", + " 'The Kinks Are The Village Green Preservation Society (2018 Stereo Remaster)',\n", + " 'Way Down in the Jungle Room',\n", + " 'Picture Book',\n", + " 'Double Vision: Then and Now (Live)',\n", + " 'A New World Record',\n", + " 'Up Against The Wall (Live 1979)',\n", + " 'Wild Cherry',\n", + " 'Live in St. Pete',\n", + " 'Under the Blade',\n", + " 'Survival (Remastered 2002 / Expanded Edition)',\n", + " 'Subway Serenade',\n", + " 'Loco Live',\n", + " 'Who Loves You',\n", + " 'Dockside',\n", + " 'Crime Of The Century (Remastered)',\n", + " 'Live At The Indigo2',\n", + " 'The Anthology',\n", + " 'All Things Must Pass (50th Anniversary/Super Deluxe)',\n", + " 'Fandango! (Expanded 2006 Remaster)',\n", + " 'This Is Sammy Hagar: When The Party Started Vol. 1',\n", + " 'Cries Out For More (Live, NY 1978)',\n", + " \"Sgt. Pepper's Lonely Hearts Club Band (Deluxe Edition)\",\n", + " 'Let It Be (Super Deluxe)',\n", + " 'Van Halen II (Remastered)',\n", + " 'Blessings and Miracles',\n", + " 'Handbags & Gladrags: The Essential Rod Stewart',\n", + " 'Live At Last',\n", + " 'Chuck',\n", + " 'With the 21st Century Symphony Orchestra & Chorus',\n", + " 'Collections',\n", + " 'Somewhere Back Long Ago (Live 1977)',\n", + " 'Midnight in Michigan (Live 1984)',\n", + " 'Dr. Feelgood (40th Anniversary Remastered)',\n", + " 'Under The Blade',\n", + " 'Layla And Other Assorted Love Songs (50th Anniversary Deluxe Edition)',\n", + " \"Live at Billy Bob's Texas\",\n", + " \"Devil's Playground\",\n", + " 'Fresh Cream (The Cream Remasters)',\n", + " 'Let Your Hair Down',\n", + " 'Band Of Gypsys (50th Anniversary / Live At Fillmore East, 1970)',\n", + " 'Club Ninja',\n", + " 'Zoom',\n", + " 'Trouble No More: 50th Anniversary Collection',\n", + " 'Botanical Gardens',\n", + " \"The Bacchanal, San Diego, CA 18 Dec '88 (Live & Remastered)\",\n", + " 'Cold Blooded (Expanded Edition)',\n", + " 'New York Is My Home',\n", + " 'Live At The Hollywood Bowl',\n", + " 'X X X',\n", + " \"A Lovemongers' Christmas\",\n", + " 'The Fire Inside',\n", + " '52nd Street (Alben für die Ewigkeit)',\n", + " 'A Bigger Bang (Live)',\n", + " 'The Later Years 1987-2019',\n", + " \"We're All Alright! (Deluxe)\",\n", + " 'ライヴ・イン・ワシントンDC 1973 (Live)',\n", + " 'Pure And Simple',\n", + " 'Bloodshot',\n", + " 'Girls, Girls, Girls',\n", + " 'Supertramp',\n", + " 'Gold',\n", + " 'Red Velvet Car',\n", + " 'Who Do You Love?',\n", + " 'No More Mr Nice Guy - Live at Alexandra Palace',\n", + " 'Folk-Nanny',\n", + " 'The Essential Jerry Lee Lewis [The Sun Sessions]',\n", + " 'The Wonder of You & Christmas with Elvis and the Royal Philharmonic Orchestra',\n", + " 'Live at the Belly Up',\n", + " 'Electra Blues',\n", + " \"You've Got To Believe In Something\",\n", + " 'This Time Long Ago',\n", + " 'Heroes: Giants of Early Guitar Rock',\n", + " 'Four Wheel Drive',\n", + " 'Liberté',\n", + " 'Caught In The Act - Live',\n", + " 'Get Nervous',\n", + " 'Live Raw & Uncut',\n", + " 'Land That I Love',\n", + " 'Bingo!',\n", + " 'Cass County',\n", + " 'Live Steppenwolf',\n", + " 'Early Steppenwolf',\n", + " 'Detroit Stories',\n", + " 'The Clash (UK Version)',\n", + " 'Rockers',\n", + " 'Turnstiles',\n", + " '12 Gardens Live',\n", + " 'Playlist Plus',\n", + " 'A Farewell To Kings (40th Anniversary/Deluxe Edition)',\n", + " \"Celestial Garden (Live NYC '90)\",\n", + " 'Not Fragile: 40th Anniversary Edition',\n", + " 'Land That I Love (Songs for America)',\n", + " 'Indianapolis, In 7-25-03',\n", + " '#10',\n", + " 'Whitesnake (2018 Remaster)',\n", + " \"Live In '75 (Live: Winnipeg, Canada 1975)\",\n", + " 'Songs For The End Of The World',\n", + " 'Italian X Rays',\n", + " 'Psycho Circus',\n", + " 'Rumours (Super Deluxe)',\n", + " 'Rock Legends (Deluxe)',\n", + " \"Still Playin' Favorites\",\n", + " 'Southern Accents',\n", + " 'Crimes Of Passion',\n", + " 'ジミ・ヘンドリックス スペシャル・コレクション',\n", + " 'Acoustique & More',\n", + " 'One of These Nights (2013 Remaster)',\n", + " 'Magical Mystery Tour (Remastered)',\n", + " 'Working My Way Back to You',\n", + " 'THE SYMBOL REMAINS',\n", + " 'American Woman (Remastered) [Live At The Ambassador Theater, St. Louis, MO, 6Th May 1974]',\n", + " \"Point Of No Return (Live St. Louis '93)\",\n", + " 'Rehab',\n", + " 'Happy Blue',\n", + " 'Forever Man',\n", + " 'Slip of the Tongue (20th Anniversary Edition)',\n", + " 'Songs for the End of the World',\n", + " 'Rumours',\n", + " 'Hell Freezes Over (Remaster 2018)',\n", + " 'I Knew You When (Deluxe)',\n", + " 'Styxworld Live 2001',\n", + " 'The Royal Scam',\n", + " 'Liveandwell.com (2020 Remaster)',\n", + " 'Heavy Nova',\n", + " 'Old Regime',\n", + " 'Dangerous Age',\n", + " 'Let Your Hair Down (Special Edition)',\n", + " 'The Infinite Live Recordings, Vol. 1',\n", + " 'The Beatles (Remastered)',\n", + " 'Def Leppard',\n", + " 'Mirage (Deluxe Edition)',\n", + " 'Solid Gold Kinks',\n", + " 'Run with the Pack (2017 Remaster)',\n", + " 'Laminar Flow',\n", + " 'World Gone Crazy',\n", + " 'Collected',\n", + " \"A Lovemonger's Christmas\",\n", + " 'Up Your Alley',\n", + " 'Live Bullet (2011 Remaster)',\n", + " 'Steppenwolf at 50',\n", + " 'Live At the Isle of Wight Festival 1970',\n", + " 'By Your Side',\n", + " 'Give the People What They Want',\n", + " 'Secret Messages',\n", + " 'Fresh Cream (Deluxe)',\n", + " 'Live Cream',\n", + " 'Rick James Forever',\n", + " 'The Western Album',\n", + " 'Tango in the Night (2017 Remaster)',\n", + " 'R40 Live',\n", + " 'Blues With Friends',\n", + " 'Glorious Results of a Misspent Youth (Expanded Edition)',\n", + " 'Aja',\n", + " 'Pure and Simple',\n", + " 'Classics',\n", + " 'Honk (Deluxe)',\n", + " 'Live At Glastonbury Festival 2003',\n", + " 'Kings of New York (Live 1993)',\n", + " 'Right Here',\n", + " 'Bridges To Bremen (Live)',\n", + " 'Deuces',\n", + " 'Monster',\n", + " \"BOLAN'S ZIP GUN\",\n", + " 'Rocket Science',\n", + " 'Hard Promises (Reissue Remastered)',\n", + " \"Don't Let Up\",\n", + " 'Legends Of Rock',\n", + " 'Combat Rock (Remastered)',\n", + " \"Rockin' Down The Highway: The Wildlife Concert\",\n", + " 'Karma',\n", + " 'Xanadu - Original Motion Picture Soundtrack',\n", + " 'The Distance',\n", + " 'Music Around the World by Elvis Presley, Vol. 2',\n", + " 'Tribute',\n", + " 'Flashback',\n", + " 'The Hits Unplugged',\n", + " 'Life, Death, Love and Freedom/Life, Death, LIVE and Freedom',\n", + " 'Delicate Sound of Thunder (2019 Remix) [Live]',\n", + " 'Head On',\n", + " 'Slang (Deluxe Edition)',\n", + " 'The Future is What It Used to Be',\n", + " \"Last of a Dyin' Breed\",\n", + " 'Miami Pop Festival',\n", + " 'Too Many Jitterbugs - B-Sides and Rarities',\n", + " 'Half & Half',\n", + " 'Artificial Paradise',\n", + " 'Metamorphosis (Mono)',\n", + " 'Tommy Live At The Royal Albert Hall',\n", + " \"It's Hard\",\n", + " 'Gone Troppo',\n", + " 'Live at Wembley',\n", + " 'Fair Warning (Remastered)',\n", + " 'Road Cases (Live)',\n", + " 'Streetlife Serenade',\n", + " 'The Sun Records Sound of Jerry Lee Lewis (30 Country Classics)',\n", + " 'The Break of Dawn (Live 1970)',\n", + " 'Looking Glass',\n", + " 'MTV Unplugged In New York (25th Anniversary)',\n", + " 'Vital Idol',\n", + " 'Derek & The Dominos In Concert (Live)',\n", + " 'The Romantics',\n", + " 'Quadrophenia (Super Deluxe Edition)',\n", + " \"Highway Blues (Live '75)\",\n", + " 'Born to Be With You / Streetheart',\n", + " 'Orchestrating My Life (Live)',\n", + " 'Pronounced ‘Leh-‘nérd ‘Skin-‘nérd - Live From Jacksonville At The Florida Theatre',\n", + " 'Shake It Up (Expanded Edition)',\n", + " 'Live at River Plate',\n", + " 'Tango In the Night (Deluxe Edition)',\n", + " 'Live From The Forum MMXVIII',\n", + " 'The Width Of A Circle',\n", + " 'Road Food',\n", + " 'One More For The Fans (Live)',\n", + " '20 Of Their Best',\n", + " 'BFI LIVE!',\n", + " \"The Girls Are Rockin'\",\n", + " 'Paris',\n", + " 'The Three Kings of the Blues',\n", + " 'Kinks',\n", + " 'Lola vs. Powerman and the Moneygoround, Pt. One + Percy',\n", + " 'Ladies Invited',\n", + " 'We Shall Overcome: The Seeger Sessions (American Land Edition)',\n", + " 'The King of Rock - G.H.',\n", + " 'Ratt',\n", + " 'The Kinks Are The Village Green Preservation Society',\n", + " 'Classics Live II',\n", + " 'Bachman-Turner Overdrive: 40th Anniversary (Deluxe)',\n", + " \"Live And Kickin'\",\n", + " '30 Years Of Funk: 1969-1999 The Anthology',\n", + " 'New Years Live (Remastered) [Live At Ritz, NY, Dec 31 81]',\n", + " 'Runaway Train (Live 1973)',\n", + " \"She's the One (Songs and Music from the Motion Picture)\",\n", + " 'Prophets, Seers & Sages',\n", + " 'Into The Great Wide Open',\n", + " 'Imaginos',\n", + " 'Family Joules',\n", + " 'The Division Bell (2011 Remastered Version)',\n", + " 'Live In London 22.01.2011',\n", + " 'Grand Funk Lives',\n", + " 'But Seriously, Folks...',\n", + " 'Serious Fun',\n", + " \"Bear's Sonic Journals (Live at Fillmore East, February 1970 - Deluxe Edition)\",\n", + " 'Slow Flux',\n", + " 'On the Third Day',\n", + " 'London Calling',\n", + " 'Slang (Deluxe Edition) - Spotify Commentary',\n", + " \"BTO's Greatest\",\n", + " 'In Through the out Door (Remaster)',\n", + " 'On the Border (2013 Remaster)',\n", + " 'Live At The BBC (Remastered)',\n", + " 'Are You Ready? Live 12/31/1979',\n", + " 'Grand Funk',\n", + " 'Tusk (Deluxe Edition)',\n", + " 'Fetish',\n", + " 'Wipe Out And Surfer Joe And Other Popular Selections By Other Famous Instrumental Groups',\n", + " 'Dirty Deeds Done Dirt Cheap',\n", + " 'Dark Horse (Remastered)',\n", + " 'The ROCK Album (2020 Remix)',\n", + " 'Live At Wolf Trap',\n", + " 'Jesse Come Home',\n", + " 'Addicted to Black',\n", + " 'The Long Run (2013 Remaster)',\n", + " 'I Still Do',\n", + " 'Van Halen Live: Right Here, Right Now',\n", + " 'Permanent Vacation',\n", + " 'Dr Feelgood',\n", + " \"Somebody Else's Favorite Songs (Live)\",\n", + " 'The ABC/Dunhill Singles Collection',\n", + " 'Live at Knebworth 1990',\n", + " 'The Brondby Club (Live in Denmark 1969)',\n", + " 'Whoosh!',\n", + " 'Ladies And Gentlemen (Live From Chicago 1977)',\n", + " 'The Ties That Bind: The River Collection',\n", + " 'Graduation Day 1966: Live At The University Of Michigan',\n", + " \"Wonder Where I'm Bound\",\n", + " \"Live 1976 - 1998: Tonight's the Night\",\n", + " 'Live At Shea Stadium',\n", + " 'The Allnighter',\n", + " 'The Black Crowes: Live',\n", + " 'Oh Yeah! Live In Detroit',\n", + " 'Phoenix (Remastered)',\n", + " 'Scream',\n", + " 'Android Warehouse',\n", + " 'Take A Chance (Live 1980)',\n", + " 'From Nowhere',\n", + " 'Sweetzerland Manifesto',\n", + " 'Boston',\n", + " 'Move Like This',\n", + " 'Mothership (Remastered)',\n", + " 'Power Of Peace',\n", + " 'The Division Bell',\n", + " 'Raw - Early BBC Recordings',\n", + " 'Ferguslie Park',\n", + " 'Starry Starry Night (Live in Austin)',\n", + " 'Neverland',\n", + " 'Heartbeat City (Expanded Edition)',\n", + " 'High City',\n", + " 'Extra Texture (Remastered)',\n", + " 'Clockwork Angels Tour',\n", + " 'Elvis King Creole & More New mono-to-stereo mixes',\n", + " 'Blow Up Your Video',\n", + " 'Sibling Rivalry',\n", + " 'L.A. Woman',\n", + " \"Sneakin' Sally Through The Alley\",\n", + " \"Let Me Up (I've Had Enough)\",\n", + " \"Maybe It's Live\",\n", + " 'WHO (Deluxe)',\n", + " 'Croweology',\n", + " 'Life, Death, Love and Freedom',\n", + " 'Under The Influence',\n", + " \"Shinin' On (Remastered 2002 / Expanded Edition)\",\n", + " 'Above The Clouds - The Collection (Deluxe)',\n", + " 'I Can Hear Music: The 20/20 Sessions',\n", + " 'Live at Ottawa Civic Centre, Ottawa, Ontario, Canada, November 1, 1972',\n", + " 'KISS Off The Soundboard: Tokyo 2001 (Live At Tokyo Dome, Japan 3/13/2001)',\n", + " 'Night Moves',\n", + " 'Live at Knoxville Civic Coliseum, Knoxville, Tennessee',\n", + " 'Lonely Street (Live 1984)',\n", + " 'All Things Must Pass (Remastered 2014)',\n", + " 'National Breakout',\n", + " 'Wiser for the Time',\n", + " 'On The Rural Route 7609',\n", + " 'Let It Be... Naked (Remastered)',\n", + " 'Music Around the World by Elvis Presley, Vol. 1',\n", + " \"You're Gonna Get it\",\n", + " 'Living In The 20th Century',\n", + " 'Arthur or the Decline and Fall of the British Empire (2019 Deluxe)',\n", + " 'A Paranormal Evening at the Olympia Paris',\n", + " \"Memphis Rag '74 [WBCN Broadcast (Remastered)]\",\n", + " 'Havana Moon (Live)',\n", + " 'A Paranormal Evening at the Olympia Paris (Live)',\n", + " 'The Layla Sessions',\n", + " 'Acoustique',\n", + " 'Mirage (2016 Remaster)',\n", + " 'Brave New World',\n", + " 'Done With Mirrors',\n", + " 'What About Now (Deluxe Version)',\n", + " 'Dandy in the Underworld (Super Deluxe Edition)',\n", + " 'Splendiferous Santana',\n", + " 'Back To The Egg',\n", + " 'Another Country (Deluxe)',\n", + " 'Black & White Night 30 (Live)',\n", + " 'Elvis: El Disco de Oro',\n", + " 'Condition Critical',\n", + " 'Rubber Soul (Remastered)',\n", + " 'Swallow This Live',\n", + " 'MTV Unplugged',\n", + " 'Ballbreaker',\n", + " 'Saints Of Los Angeles',\n", + " 'Live At Red Rocks',\n", + " 'Get The Knack',\n", + " 'Pack Up The Plantation: Live!',\n", + " 'Live in Denmark 1969',\n", + " 'Best Of Bachman-Turner Overdrive, Vol. 2 Live',\n", + " 'Curse of the Hidden Mirror',\n", + " 'Live at Montreux 2013',\n", + " 'The Sky Is Falling',\n", + " 'Famous Last Words (Remastered)',\n", + " 'Hour of the Wolf (Expanded Edition)',\n", + " 'DANDY IN THE UNDERWORLD',\n", + " 'Last Man Standing (Exclusive Version)',\n", + " 'Freedom: Atlanta Pop Festival (Live)',\n", + " 'Pacific High (Live 1972)',\n", + " \"That's Why God Made the Radio\",\n", + " 'Wild Life',\n", + " 'Silver Collection',\n", + " 'Door to Door',\n", + " 'All Things Must Pass (Remastered)',\n", + " 'Nirvana',\n", + " 'Other Voices',\n", + " 'ATBPO',\n", + " 'The London Chuck Berry Sessions',\n", + " 'Songs In the Attic',\n", + " 'In Concert: Merchants Of Cool',\n", + " 'Bingo! (Special Edition)',\n", + " \"It's Alive (Live; 40th Anniversary Deluxe Edition)\",\n", + " 'Presence (Remaster)',\n", + " 'Cupid',\n", + " 'Chapter and Verse',\n", + " 'Ozzmosis (Expanded Edition)',\n", + " 'Live in Rome 2013',\n", + " \"Pete Townshend's Classic Quadrophenia\",\n", + " 'Live 1969',\n", + " '13',\n", + " 'Plain Spoken',\n", + " \"Bustin' Out of L Seven\",\n", + " 'Songs for a Dying Planet',\n", + " 'R40 Live (Live At Air Canada Centre, Toronto, Canada / June 2015)',\n", + " 'A Farewell to Kings (40th Anniversary) [Deluxe Edition]',\n", + " 'Panorama (Expanded Edition)',\n", + " 'Wide Awake In Dreamland',\n", + " '1997',\n", + " 'The Morning After',\n", + " 'Somewhere in California',\n", + " 'Kings & Queens Of The Underground',\n", + " \"Ride 'Til I Die\",\n", + " 'Rock & Roll, Hoochie Koo (In Concert)',\n", + " '5150',\n", + " 'Rock or Bust',\n", + " 'Get A Grip',\n", + " \"Burnin' Sky (Deluxe)\",\n", + " 'Thirty Three & 1/3',\n", + " 'Live at the Greek',\n", + " 'Moving Pictures: Live 2011',\n", + " 'Newport Jazz Festival 1958, Vol III: Blues in the Night, No. 1 (Remastered Live)',\n", + " 'Alive III',\n", + " 'Live 1965: Music From Charlie Is My Darling (Live From England/1965)',\n", + " 'Live At Berkeley',\n", + " 'CHUCK',\n", + " 'Au',\n", + " 'Wrecking Ball',\n", + " 'Unzipped',\n", + " '2112 (40th Anniversary/Pt. 2)',\n", + " 'Hotel California (40th Anniversary Expanded Edition)',\n", + " 'Wait for the Night',\n", + " 'Nevermind',\n", + " 'Live in Newcastle 2001',\n", + " 'On The Borderline (Live 1968)',\n", + " 'Fire It Up',\n", + " 'This House Is Not For Sale (Live From The London Palladium)',\n", + " 'Dawn (Go Away) and 11 Other Hits',\n", + " \"Kickin' Child: The Lost Album 1965\",\n", + " 'Highlights of the Troggs',\n", + " 'Live at the Marquee Club',\n", + " 'Too Tough to Die',\n", + " 'Three Snakes And One Charm',\n", + " \"Let's Go\",\n", + " 'Who Made Who',\n", + " 'Disraeli Gears (Deluxe Edition)',\n", + " 'Heavy Metal Thunder (Live 1980)',\n", + " 'Favorites',\n", + " \"Guess Who's Back\",\n", + " 'This Is Sammy Hagar: When the Party Started, Volume 1',\n", + " 'Shape Shifter (with Commentary by Carlos Santana)',\n", + " 'Fresh Cream',\n", + " 'Glow (Deluxe Edition)',\n", + " 'Amorica.',\n", + " 'Freaks of Nature',\n", + " 'Live in New York City',\n", + " 'Fanatic',\n", + " 'Live at 25 Silver Anniversary',\n", + " \"Kickin'\",\n", + " 'BBC Sessions',\n", + " 'Dehumanizer (2008 Remaster)',\n", + " 'Echo',\n", + " 'Knighted By The Blues',\n", + " 'Jupiters Darling',\n", + " \"Fillmore West '71\",\n", + " 'No More Tears (Expanded Edition)',\n", + " 'Layla And Other Assorted Love Songs',\n", + " 'Face the Music',\n", + " 'American Woman',\n", + " 'No Trendy Réchauffé (Live Birmingham 95)',\n", + " 'Life, Death, LIVE and Freedom',\n", + " '2000 Years - The Millennium Concert',\n", + " 'Unchained Melodies: Roy Orbison & The Royal Philharmonic Orchestra',\n", + " 'Pittsburgh 1998',\n", + " 'Sing Big Hits by Burt Bacharach...Hal David...Bob Dylan',\n", + " \"Rockin' N Rollin' The New Year\",\n", + " 'Think Visual',\n", + " 'The Steven Wilson Remixes',\n", + " 'No Better Than This',\n", + " 'An American Treasure (Deluxe)',\n", + " 'Past Lives (Deluxe Edition)',\n", + " 'Dreamboat Annie - Live',\n", + " 'パラノーマル〜超常現象の館〜',\n", + " 'Combat Rock',\n", + " 'Generation Swine',\n", + " 'The Early Sound City Sessions',\n", + " 'The Stranger (Legacy Edition)',\n", + " 'The Flag',\n", + " 'Wildflowers & All The Rest (Deluxe Edition)',\n", + " 'Live And Loud',\n", + " 'Beyond The Borderline (Live 1984)',\n", + " 'The Confessor',\n", + " 'Fire In The Night',\n", + " 'The Beach Boys On Tour: 1968 (Live)',\n", + " 'Reunion',\n", + " 'Time (Deluxe)',\n", + " 'Fanatic Live from Caesars Colosseum',\n", + " \"Beach Boys' Party!\",\n", + " 'Subterranean Jungle',\n", + " 'Stealers Wheel',\n", + " 'Live At The US Festival, 1983 (Live From San Bernadino/1983)',\n", + " 'Becoming the Beach Boys: The Complete Hite & Dorinda Morgan Sessions',\n", + " 'On Stage with The 4 Seasons',\n", + " \"The Can't Slow Down B-Sides and Extra Tracks\",\n", + " 'This Is Sammy Hagar: When the Party Started, Vol.1',\n", + " 'Let It Roll - Songs Of George Harrison',\n", + " \"Party Of Two Live: Chicago '93 (Remastered)\",\n", + " 'Rock & Roll Is Good for You: The Fieger/Averre Demos',\n", + " 'Full Moon Fever',\n", + " 'Dark Horse',\n", + " 'Layla And Other Assorted Love Songs (Remastered 2010)',\n", + " 'Layla And Other Assorted Love Songs (Super Deluxe Edition)',\n", + " 'Nevermind (Remastered)',\n", + " 'The Rising',\n", + " 'Face To Face (Expanded Edition)',\n", + " 'Life',\n", + " 'From Here to Eternity (Live) [Remastered]',\n", + " 'Monkey Island',\n", + " 'No Control',\n", + " 'Goats Head Soup (Deluxe)',\n", + " 'Brown Eyed Handsome Man',\n", + " 'Zig Zag Walk',\n", + " 'Cosmic Universal Fashion',\n", + " 'Newborn',\n", + " 'Gaucho',\n", + " 'Live in New York City (Alben für die Ewigkeit)',\n", + " 'Rick Springfield',\n", + " 'When The Walls Came Tumbling Down – Live In Oxford',\n", + " 'Solid Gold Troggs',\n", + " 'La Futura',\n", + " 'Behind the Mask',\n", + " 'Mondo Bizarro',\n", + " 'Live In Hyde Park',\n", + " 'LIVE & LOUD',\n", + " 'A Momentary Lapse Of Reason (2011 Remastered Version)',\n", + " 'Coda (Deluxe Edition)',\n", + " 'High Road',\n", + " 'Book Of Dreams',\n", + " 'Edge Of The Century',\n", + " \"50 Years - Don't Stop\",\n", + " 'Pulse (Live)',\n", + " 'Futuristic Dragon (Deluxe Edition)',\n", + " 'Bark At The Moon (Expanded Edition)',\n", + " 'Hysteria At The O2 (Live)',\n", + " 'Guitars and Women',\n", + " 'Life, Love & Hope',\n", + " 'Ruby Baby',\n", + " 'October Country (Expanded Edition)',\n", + " 'From Elvis In Nashville',\n", + " 'Reach for the Sky',\n", + " 'Totally Stripped - Amsterdam (Live)',\n", + " 'Live At The London Astoria',\n", + " 'Thunder And Lightning (Deluxe Edition)',\n", + " 'Seven Days Live',\n", + " 'Invasion of Privacy',\n", + " 'Lynyrd Skynyrd - Lyve',\n", + " 'Heroes',\n", + " 'People, Hell & Angels',\n", + " 'Holy Water',\n", + " \"Off the Grid-Doin' It Dylan\",\n", + " 'Songs from the Road (Live)',\n", + " 'Incesticide',\n", + " 'The Rarities Collection',\n", + " 'Long Road Out Of Eden',\n", + " \"My People Were Fair And Had Sky In Their Hair... But Now They're Content To Wear Stars On Their Brows\",\n", + " 'Dreamboat Annie Live',\n", + " \"We're Outta Here!\",\n", + " 'Charmed Life',\n", + " 'From Here To Eternity Live',\n", + " 'Something In The Air (Live Paris 99)',\n", + " 'Hope + Glory',\n", + " 'OU812',\n", + " 'Thunder & Lightning',\n", + " 'The Surfaris Play',\n", + " 'Women and Children First (Remastered)',\n", + " 'The End (Live)',\n", + " 'The Beach Boys With The Royal Philharmonic Orchestra',\n", + " 'Shades Of Deep Purple',\n", + " 'Live Around the World (Deluxe)',\n", + " 'Live! Breaking Ground August 3, 1977',\n", + " 'A Crown Of Dark Swansdown (Live)',\n", + " 'Return Of The Wanderer',\n", + " 'Old Sock',\n", + " 'Tao',\n", + " 'Raw and Unfiltered',\n", + " 'Live at Wolf Trap',\n", + " 'Fame and Fortune',\n", + " 'T.Rex - Gold',\n", + " 'Road Rage',\n", + " 'Midnight in L.A. (Live 1977)',\n", + " 'The Final Tour',\n", + " 'Have Guitar, Will Travel',\n", + " 'Volunteer Jam III & IV (Live)',\n", + " 'Wings At The Speed Of Sound (Archive Collection)',\n", + " 'Songs For Groovy Children: The Fillmore East Concerts',\n", + " 'In Utero - 20th Anniversary Super Deluxe',\n", + " 'Wheels Of Fire',\n", + " 'Surfer Girl',\n", + " 'Brother Where You Bound (Remastered)',\n", + " 'The Final Cut (2011 Remastered Version)',\n", + " 'Masterpieces (Live)',\n", + " 'Live At Rockpalast (Westfalenhalle, Dortmund, 28.02.1980)',\n", + " 'Rhythmeen',\n", + " 'Live From Birmingham',\n", + " 'Phobia',\n", + " 'Live: The 1971 Tour',\n", + " 'Deluxe Essential Super Hits',\n", + " 'The Joker',\n", + " 'In Utero - 20th Anniversary - Deluxe Edition',\n", + " 'A Matter of Trust - The Bridge to Russia: The Music (Live)',\n", + " 'Ouvrez Le Chien (Live Dallas 95)',\n", + " 'Showtime!',\n", + " 'Red Rose Speedway',\n", + " 'The Mission',\n", + " 'B.T.O. Japan Tour',\n", + " 'Live in Atlantic City',\n", + " 'The All-Time Greatest Hits Live, Vol. 1',\n", + " 'Detonator',\n", + " 'The Runaways',\n", + " 'Corazón',\n", + " 'Just Go Ahead Now: A Retrospective',\n", + " 'Van Halen III',\n", + " 'London Calling (Expanded Edition)',\n", + " 'Under the Influence',\n", + " 'Band On The Run (Standard)',\n", + " 'Physical Graffiti (Deluxe Edition)',\n", + " 'Goodbye Tour – Live 1968',\n", + " \"It's Time\",\n", + " 'Charlotte, Nc 8-9-03',\n", + " 'Glow',\n", + " 'Live at Shea Stadium (Remastered)',\n", + " 'Live at Hammersmith',\n", + " 'Sandinista! (Remastered)',\n", + " 'Cyclorama',\n", + " 'Scream (Expanded Edition)',\n", + " 'In The Spirit Of Things',\n", + " \"We're All Alright!\",\n", + " \"A Long Day's Night (Live)\",\n", + " 'Orchestrating My Life',\n", + " 'Live at Third Man Records',\n", + " \"Don't Start Me Talkin'\",\n", + " 'Mojo Tour Edition',\n", + " 'Live At Montreux 2003',\n", + " 'Street Songs (Deluxe Edition)',\n", + " 'Return Of The Champions',\n", + " 'One More for the Fans (Live)',\n", + " 'ライヴ・イン・カリフォルニア1992 (Live) [Remastered]',\n", + " 'Straight Shooter',\n", + " 'Live in San Diego',\n", + " 'Crash Of The Crown',\n", + " 'Slip of the Tongue (Super Deluxe Edition; 2019 Remaster)',\n", + " 'Honey',\n", + " 'Big Bang Theory',\n", + " 'Unplug It In',\n", + " 'Powerage',\n", + " 'Blue & Lonesome',\n", + " 'ドント・レット・アップ',\n", + " 'Morrison Hotel',\n", + " 'Fiddle Fire',\n", + " 'Love Is for Suckers',\n", + " 'What About Now',\n", + " 'La Futura (Deluxe Version)',\n", + " 'Away From The Ghetto (Record Plant, Sausalito, California 1973 KSAN Broadcast)',\n", + " 'HOMEBELLY GROOVE',\n", + " 'Hollyweird',\n", + " 'First Sessions',\n", + " 'The Clash (Remastered)',\n", + " 'Deliverance (Live)',\n", + " 'Bristow, VA 1996',\n", + " 'Hits Vegas (Live)',\n", + " 'Tusk (2015 Remaster)',\n", + " 'The Quest',\n", + " 'Metal Health',\n", + " 'Troggs Au Album',\n", + " 'In the Mood for Something Rude',\n", + " 'Here Comes Trouble',\n", + " 'Another Country',\n", + " 'Alive In America',\n", + " 'Heavy Nova (Bonus Tracks Version)',\n", + " 'Quiet Riot',\n", + " 'King Of Hearts',\n", + " 'The Dance',\n", + " 'Wildflowers',\n", + " 'Live at Nassau Veterans Memorial Coliseum, Uniondale, New York, November 20, 1972',\n", + " 'Live in Louisville',\n", + " 'Fireball: The Collection',\n", + " 'Cut The Crap',\n", + " 'Trogglodynamite',\n", + " \"You Can't Argue With A Sick Mind\",\n", + " 'Born to Boogie - The Concerts (Live at Wembley 1972)',\n", + " 'All The Girls In The World Beware!!! (Remastered)',\n", + " 'Owner Of A Lonely Heart',\n", + " 'A Different Kind Of Truth',\n", + " 'Under Cover',\n", + " 'Live II',\n", + " 'Last Train Home',\n", + " 'Cass County (Deluxe)',\n", + " 'Rock Love',\n", + " 'Warpaint',\n", + " 'This House Is Not For Sale (Deluxe)',\n", + " 'Don McLean Sings Marty Robbins',\n", + " 'The Clash',\n", + " 'Live at Reading',\n", + " 'Your Filthy Little Mouth',\n", + " 'Full Circle',\n", + " 'Look What The Cat Dragged In',\n", + " 'An Innocent Man',\n", + " \"Burnin' Sky (Remastered)\",\n", + " 'The Complete Wooden Nickel Recordings',\n", + " 'Monolith',\n", + " 'Metrobolist (aka The Man Who Sold The World) [2020 Mix]',\n", + " 'ForeverMore',\n", + " 'Volunteer Jam V 1979 - EP 1',\n", + " \"Looks That Kill (Live Pasadena '82)\",\n", + " 'Southbound',\n", + " 'In The Heat Of The Night',\n", + " 'Iron Butterfly: Live',\n", + " 'Feels Like The First Time',\n", + " 'Nevermind (Super Deluxe Edition)',\n", + " \"Freedom's Road\",\n", + " 'Subterranean Jungle (Expanded 2005 Remaster)',\n", + " 'The Circle [Tour Edition]',\n", + " 'Wild Thing (Remastered)',\n", + " 'Dance',\n", + " 'Live in Concert',\n", + " 'Western Stars - Songs From The Film',\n", + " 'Joe Perry',\n", + " 'Bronx In Blue',\n", + " 'Fly From Here: Return Trip',\n", + " 'Adios Amigos',\n", + " 'Blues Hat',\n", + " 'Live at the Isle of Wight Festival 1970',\n", + " 'Nassau March 13,1976 (Live WLIR Broadcast)',\n", + " 'Queens Of Noise',\n", + " 'Topographic Drama: Live Across America',\n", + " 'Got Any Gum?',\n", + " 'Bang, Zoom, Crazy…Hello',\n", + " 'Derringer Live',\n", + " 'A Little South Of Sanity',\n", + " 'Not 4 Sale',\n", + " 'Electronic Sound (Remastered)',\n", + " 'Lite Roast',\n", + " 'Elvis symphonique',\n", + " 'Woodstock Saturday August 16, 1969 (Live)',\n", + " 'Candy-O',\n", + " 'Everything Must Go',\n", + " 'Carnival of Sins (Live)',\n", + " '8-15-80',\n", + " 'Antenna',\n", + " 'The Good Samaritan Tour 2000',\n", + " 'Even In The Quietest Moments',\n", + " 'The Ultimate Sin',\n", + " 'Look What The Cat Dragged In - 20th Anniversary Edition',\n", + " 'E Pluribus Funk (Remastered)',\n", + " 'Normal as the Next Guy',\n", + " 'Back In Black',\n", + " 'Live From Texas',\n", + " '1967 - Live Sunshine',\n", + " \"...When It's Live\",\n", + " 'Celebration Day',\n", + " 'Live At The Isle Of Wight Festival 1970',\n", + " 'Reunited Live',\n", + " 'Stage (2017) [Live]',\n", + " \"Hail! Hail! Rock 'N' Roll\",\n", + " \"Let It Burn (Live St. Louis '82)\",\n", + " 'Live At The Rainbow (Deluxe)',\n", + " 'Brain Drain / Adios Amigos',\n", + " 'A Farewell To Kings (40th Anniversary Deluxe Edition)',\n", + " 'Extra Texture',\n", + " 'Nothing Comes Easy 1991-2012',\n", + " 'With the Eagles and Without',\n", + " 'Live At The Greek Theatre',\n", + " 'Look At The Moon! (Live Phoenix Festival 97)',\n", + " 'Cream of the Crop 2003',\n", + " 'No Rest for the Wicked (Expanded Edition)',\n", + " 'Live in Copenhagen',\n", + " 'Live From Earth',\n", + " \"Other People's Stuff\",\n", + " \"Toronto Rock 'N' Roll Revival 1969\",\n", + " \"Where's the Party?\",\n", + " 'Cloud Nine',\n", + " 'Breakfast In America (Remastered)',\n", + " 'Circle Of Love',\n", + " 'Both Sides of the Sky',\n", + " 'Black Ice',\n", + " 'From The Muddy Banks Of The Wishkah (Live)',\n", + " 'The Killer Live - 1964 To 1970',\n", + " 'Masterpieces',\n", + " 'Blue Wild Angel: Jimi Hendrix At The Isle Of Wight',\n", + " \"Rock N' Roll Christmas\",\n", + " 'Pump',\n", + " 'Live at the Royal Albert Hall',\n", + " 'Memphis (Remastered)',\n", + " 'Yellow Submarine Songtrack',\n", + " 'At Your Service',\n", + " 'Live at Donington 1990 (30th Anniversary Complete Edition; 2019 Remaster)',\n", + " 'Futuristic Dragon',\n", + " 'Rockford',\n", + " 'Christmastime! The Complete Collection',\n", + " 'Live In Boston 1982: The Complete Concert',\n", + " \"Can't Hold Back\",\n", + " 'Live at The Bottom Line (Live 1974)',\n", + " 'Damn The Torpedoes',\n", + " \"Bustin' Out of L Seven (Expanded Edition)\",\n", + " 'Unvarnished',\n", + " 'Fly On the Wall',\n", + " 'Thin Lizzy Live In Concert',\n", + " 'The Word Is Live',\n", + " 'Caught In The Act (Live/Remastered)',\n", + " 'Rod Stewart: 1975-1978',\n", + " \"I Can't Stand Still\",\n", + " 'iHeart Radio Theater N.Y.C. 2012',\n", + " 'Crisis? What Crisis?',\n", + " 'Before the Beginning - 1968-1970 Rare Live & Demo Sessions (Remastered)',\n", + " 'Eddie Money',\n", + " 'Stay Hungry',\n", + " 'Live At The Royal Albert Hall',\n", + " 'Heavy',\n", + " \"You're In My Heart: Rod Stewart (with The Royal Philharmonic Orchestra)\",\n", + " \"Poison'd!\",\n", + " 'Best Of The Troggs',\n", + " 'Dion',\n", + " 'Ordinary Average Guy',\n", + " 'Rumours (Deluxe Edition)',\n", + " 'No Fun Aloud',\n", + " \"Electric Lady Blues (New York Live '93)\",\n", + " 'Mean Old Man',\n", + " 'Piano Man',\n", + " 'On Fire: Live At The Bowl',\n", + " 'The Prelude Implicit',\n", + " 'Valleys Of Neptune',\n", + " 'Ball',\n", + " \"Good Singin' Good Playin'\",\n", + " 'Dr. Feelgood',\n", + " 'Not Live At The BBC',\n", + " 'Inside Job',\n", + " \"We're An American Band (Remastered / Bonus Track)\",\n", + " 'Tapestry',\n", + " 'Stripped Down (Live)',\n", + " 'Hammersmith Live 1980',\n", + " 'The Snake King',\n", + " 'Rides Again',\n", + " 'The BLUES Album (2020 Remix)',\n", + " 'From A Page',\n", + " 'Mystery Girl',\n", + " 'Open Up And Say...Ahh! (20th Anniversary Edition)',\n", + " 'The Soft Parade',\n", + " \"New Year's Eve In California, 1973 (Live KSAN Broadcast)\",\n", + " '40th Anniversary - Agents Of Fortune - Live 2016',\n", + " 'Live at The Greek Theatre 1982',\n", + " 'Blues Deluxe',\n", + " \"Sgt. Pepper's Lonely Hearts Club Band (Remastered)\",\n", + " 'Symphony: Alive IV',\n", + " 'One With Everything: Styx & The Contemporary Youth Orchestra',\n", + " 'Straight Shooter (Remastered)',\n", + " 'Working My Way Back to You - 2019 Japan Edition',\n", + " 'Muswell Hillbillies (Legacy Edition)',\n", + " 'Live in Boston, 1982',\n", + " 'Paranormal',\n", + " 'After Hours',\n", + " 'Thirds',\n", + " 'Live In Maui',\n", + " 'Shout At The Devil (40th Anniversary Remastered)',\n", + " 'Eliminator',\n", + " 'Shake Your Money Maker (30th Anniversary Deluxe)',\n", + " 'The Razors Edge',\n", + " 'Chuck Berry',\n", + " 'Recall The Beginning...A Journey From Eden',\n", + " 'Desire Walks On',\n", + " 'Tres Hombres (Expanded 2006 Remaster)',\n", + " 'Thunder And Lightning',\n", + " 'Son Of Skip James',\n", + " 'Crime Of The Century (Deluxe)',\n", + " 'Freeze Frame',\n", + " 'Closer To Home (Remastered)',\n", + " 'Haircut',\n", + " 'ライヴ・アット・ウッドストック・フェスティヴァル1994 (Live)',\n", + " 'Live at University Of Georgia, Athens, Georgia, November 14, 1972',\n", + " '24 Strings and a Drummer (Live and Acoustic)',\n", + " 'Desolation Angels (40th Anniversary Edition) [2019 Remaster]',\n", + " 'Like A Rock',\n", + " 'Jackhammer Blues',\n", + " 'The Doors (50th Anniversary Deluxe Edition)',\n", + " 'Last of the Street Survivors Farewell Tour Lyve!',\n", + " 'Walk On',\n", + " 'Live at the Atlanta International Pop Festival July 3 & 5, 1970',\n", + " \"There's Know Place Like Home\",\n", + " 'Homecoming (Live 1984)',\n", + " 'Glastonbury 2000 (Live)',\n", + " \"The Circle (International ABP's)\",\n", + " 'Totally Stripped (Live)',\n", + " 'Man In Motion',\n", + " 'All This for a Song',\n", + " \"The 'Mercury' Demos (with John 'Hutch' Hutchinson)\",\n", + " 'Slip of the Tongue (20th Anniversary Expanded Edition)',\n", + " 'Afterburner',\n", + " 'Down To Earth (20th Anniversary Expanded Edition)',\n", + " 'Living In The Material World',\n", + " \"Playin' With Fire (Live In Long Island, NY '81)\",\n", + " 'Two For The Show (30th Anniversary Edition)',\n", + " 'Back on the Highway (Live 1990)',\n", + " 'The Promise',\n", + " 'Layla and Other Assorted Love Songs',\n", + " 'El Loco',\n", + " 'Hit Single Anthology',\n", + " \"Rockin'\",\n", + " 'In The Raw (Live 1982)',\n", + " 'Breakfast In America (Deluxe Edition)',\n", + " 'Kings of Rock and Roll',\n", + " 'Right Or Wrong',\n", + " 'Just Push Play',\n", + " 'Sad Clowns & Hillbillies',\n", + " 'Corazón (Deluxe Version)',\n", + " 'Unvarnished (Expanded Edition)',\n", + " 'Physical Graffiti (Remaster)',\n", + " 'Live Around The World (Deluxe)',\n", + " 'Notorious',\n", + " 'The Circle',\n", + " \"Saga All Stars: Great Balls of Fire / Singles & Ep's 1956-1957\",\n", + " 'Desolation Angels (2009 Remaster)',\n", + " 'Mötley Crüe',\n", + " 'Seven The Hard Way',\n", + " 'Secrets',\n", + " 'Good Music',\n", + " 'Bad Reputation (Music from the Original Motion Picture)',\n", + " 'Garden Of Love (Expanded Edition)',\n", + " 'Unplugged (Live 1992)',\n", + " 'Wanna Go Back',\n", + " 'Live At Fillmore Auditorium',\n", + " 'Metamorphosis',\n", + " 'Pressure Drop',\n", + " 'Performs Trouble No More Live At Town Hall',\n", + " 'The Stranger',\n", + " 'An American Prayer',\n", + " 'ChangesNowBowie',\n", + " 'Take It Easy Live - Remastered',\n", + " 'Ordinary Man',\n", + " 'The Later Years: 1987-2019',\n", + " 'Royal Albert Hall London May 2-3-5-6 2005',\n", + " 'The Flag (Bonus Track Version)',\n", + " 'Arch Allies',\n", + " 'Live in Sweden 1971',\n", + " 'Rough Diamonds (2009 Remaster)',\n", + " 'Club Daze, Volume 1: The Studio Sessions',\n", + " 'Voodoo Lounge Uncut (Live)',\n", + " 'Tailgate Party',\n", + " 'Life For The Taking',\n", + " 'The Beach Boys Live In Sacramento 1964',\n", + " 'The Early Years',\n", + " 'Raw and Unfiltered: The Interviews',\n", + " 'Rise',\n", + " 'The Doors (Original Soundtrack Recording)',\n", + " 'Lions',\n", + " 'Live from Iraq',\n", + " 'Strange Days (50th Anniversary Expanded Edition) [2017 Remaster]',\n", + " \"Electric Lady Studio '75 (The New York WQIV Broadcast Remastered)\",\n", + " 'American Sound 1969',\n", + " \"Hit City '64\",\n", + " 'At Last...The Beginning - The Making Of Electric Ladyland: The Early Takes Sampler',\n", + " 'Long Road out of Eden',\n", + " 'Mean Old Man (Deluxe Edition)',\n", + " 'House Of Yes: Live From House Of Blues',\n", + " 'The Cars (Deluxe Edition)',\n", + " '2112 (40th Anniversary/Pt. 1)',\n", + " 'Wake The World: The Friends Sessions',\n", + " ...]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "artist_album_names" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "9c36e837", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1641" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(artist_album_names)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "8d99fae4", + "metadata": {}, + "outputs": [], + "source": [ + "def get_all_tracks_from_all_albums_from_all_artists_playlist(playlist):\n", + " artist_album_names, artist_album_uris = get_albums_from_artist(playlist)\n", + " all_tracks = []\n", + " for album in artist_album_uris:\n", + " tracks = sp.album_tracks(album)\n", + " all_tracks.extend(tracks['items'])\n", + " return all_tracks" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "b4405b6f", + "metadata": {}, + "outputs": [], + "source": [ + "all_tracks = get_all_tracks_from_all_albums_from_all_artists_playlist(\"7jISe26ax1OT0xfXqC32DE\")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "e9d1939c", + "metadata": {}, + "outputs": [], + "source": [ + "def get_all_track_ids(all_tracks):\n", + " ids = []\n", + " for track in all_tracks:\n", + " ids.append(track['id'])\n", + " return ids" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "68db0399", + "metadata": {}, + "outputs": [], + "source": [ + "ids = get_all_track_ids(all_tracks)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "08a4528d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['351VwxPSne2rhCe5sFFsKT',\n", + " '4ffrniFpqDE7tuu4TJXLVW',\n", + " '1DwyS5pmlcmSEaRp2LwmkG',\n", + " '5WB5hBVdV7l9Fn8eISG0Xx',\n", + " '6SevoXeUum5CwKzv3lk9C5',\n", + " '7He4QA0s9oCHUP9Vj39qpo',\n", + " '1J28PRJv3MkThRnAshFFUA',\n", + " '2R7xOo5MezqQym1JO8zNW0',\n", + " '3NMFHh7YtTWhJvHB0c27Tx',\n", + " '4GZu76JRU2uSG929SEqBji',\n", + " '1izys4V3iMHvjORAlR4s2a',\n", + " '6o0auxz8Uw6Y8mfifbqDYg',\n", + " '3CbQeXInIfNLNw3b0c9AJa',\n", + " '0tW8KMfz91QrKfEc0ScGsI',\n", + " '1haOIcqPVABXydIuRHCqmk',\n", + " '5F6Pc3sscxoS4RmV31iZo0',\n", + " '4GF6XEro7RjG1UguSTDAcF',\n", + " '1LNNG7WNcZDzRbq2yY9Rum',\n", + " '2uxIzfBniyYZIf2Cr126eG',\n", + " '0JEKwOWGMxtXkcNnU4MiDN',\n", + " '2w9DIutpw6KNOCFG0iHlGG',\n", + " '1254zqqlucw5R3LcfuQP4i',\n", + " '1Mb4n6kSnDd6KjSAxYIAxf',\n", + " '3YJiXOP14PZm9ZvfR0UR7B',\n", + " '7acBdPXG23JP9m1ixWKUS0',\n", + " '6IlYIlp7oEm5lLswqp7GOf',\n", + " '24OPiBZkSPdkYl4S9QuRiX',\n", + " '7Ma6iUVuAgLSfs8uFLBe9B',\n", + " '36Zw4zDGcCqp6uibHOoX9r',\n", + " '04YP6M8qDOEK3LU4vL1Hqa',\n", + " '4JDjZ2AzlHnde5uUy0TveV',\n", + " '4gLrfXB3CgRlIPH7KTVKA4',\n", + " '0sfdiwck2xr4PteGOdyOfz',\n", + " '3FR2w9O5i9q3unY3gyjq6E',\n", + " '0Kq6RzOqkHxnfiA9OGqReU',\n", + " '06hy0gi5aLXcWRjnj9fgoh',\n", + " '6jtUOVRO4p09Z7E35ERRL7',\n", + " '1ZyQEn0iceHj0Lbt6I6Op3',\n", + " '3fKXS93P7YOS4xEUnWzkUz',\n", + " '1uhPCuhxeC9wEYl7smMByK',\n", + " '0l3jBCAEdeLR9OgQqES9CI',\n", + " '1nuPjx9gZH0aHZt8Q5Njx6',\n", + " '33SpBVdgDldkvMaBB2Q9bW',\n", + " '0w0Zs8pu4wx9iErRMEG96L',\n", + " '61AK5ICbKk20h1dFS3mXuu',\n", + " '2MaLglXXcouyoh03rUROQ2',\n", + " '3tD42ECBPcYdGtZajQZGRH',\n", + " '0s1qlZS6lwflT07Dz0anvK',\n", + " '4i74K8KnsOQy8mC1cQ24NL',\n", + " '78fqOYQZ0lRKcgQIGXjOOP',\n", + " '0MU7rcgVxOHmXEfT5uLWF6',\n", + " '6k6eRQXEMi0JyR5svgvGOJ',\n", + " '3p5mtQl3JM0mG8761er46E',\n", + " '6fW0Rmm6TeGlS2hL1nV0JV',\n", + " '3IRgUXtaR1XevWGkmIfBBo',\n", + " '3UEQ585EpdVamFs4e1738j',\n", + " '4r0GHEHI7EJ4LwSnSXLpFt',\n", + " '43AI5NpMhsnT7p1Hv9188I',\n", + " '58abmt85oVAS9vGe8MfkKT',\n", + " '6bsHltbcF2jnq72dy94cox',\n", + " '4mcZYzoGwPRDdhWVlygiHf',\n", + " '685sEpLJe80Zzuxz3siOVT',\n", + " '1bms9tDuoxEDeqxyvFnP6z',\n", + " '0uV5j1LuzRS5HglBLKmwM0',\n", + " '406klWbCDLo9cs7pduRuuF',\n", + " '5AzpZ5ADn1AFPxcEBd2Ugf',\n", + " '0g4AY5N5nCLqchHpnYu26u',\n", + " '2AKX7nBYdc0n5qXkSbfH7x',\n", + " '5dfg1Piej2rQ0jwmwxo3kF',\n", + " '61chTBkjt6A8GsrXOojdPV',\n", + " '28nUgITSci5R0ngEAn98dY',\n", + " '1foblVZ1Kr2vz7212SMNZB',\n", + " '3mphrbLqnNr2UCHIXkaqsk',\n", + " '4IelIE8X4Gsu6QPHqSnTQx',\n", + " '5kdd1nzimLc5Rtad4TUbvG',\n", + " '6QqM9HsU42TwE1dnK4B2Jl',\n", + " '2j6OHo0ExZXygaIoK0EJgA',\n", + " '6dx07G5TNBGQRi5WwNctfQ',\n", + " '0Cq7FAM0nK4xRXL5dSbGIS',\n", + " '41uyGKYkpPkXrKOxRX7OkS',\n", + " '3OViIHlm7mog6PVGJxgVJP',\n", + " '5aXSUZaSDgSvtuaAXyLtFL',\n", + " '0g0QTaRwhYDhF2O5nMbU0b',\n", + " '4TtUC0P4pZpZGIxgBdWvRc',\n", + " '03h0xXtdHey0y1oijFxyz7',\n", + " '6UHroXgEynjfh8VfcZSYsi',\n", + " '7L8lBkleFsEZfPJRbQqN9w',\n", + " '56yPh7T5PADG2QKRXwNyJX',\n", + " '3VzjQlnDTFI716aorVkl2Y',\n", + " '1mveHGQhwk5GAcof7dygA7',\n", + " '14nc3a84fMDelO7Y3Rwqg2',\n", + " '7z9mlZrxm6GLq9e3yh15kP',\n", + " '2CSlSPsChaQVdvd1AQpfDw',\n", + " '5tAdi0SnmX76uRCqx4X8xw',\n", + " '51SM376ZRNbdpfRUawc2U5',\n", + " '0X3nRYOPQTMtM6FEFstvfL',\n", + " '4MTem5YY5zwp3YIEpitGbR',\n", + " '4hHn9e4D7DLZuqYKvl7c7v',\n", + " '0Yq1eL6KvuCt9gpe4raN1q',\n", + " '1ilj2IAvvW4DlWtiv1gPMk',\n", + " '0wITbQy5MNIkufUxSPRtfU',\n", + " '34wSb9xjYtytqtbMk76LHE',\n", + " '4EzRElMnKbNcv5BW5ihhfT',\n", + " '5sloJFW7Zb74kWISvoEM43',\n", + " '3jsgAQ9t5Ww7vKU1bB98Vi',\n", + " '00YZBJXtFkCFmDiT8xMxwB',\n", + " '3BU9qGn1VPJEu8N7LgyxDT',\n", + " '43mUYmW1LpKVStndLZDrBS',\n", + " '3IExIrbTVkELKwxtuuoKwl',\n", + " '12XCXdkINKMe4ZjeFzeGMn',\n", + " '4rTurOCj7TorrnvmacjAFc',\n", + " '6z2uJuztb6zgLpUJJHupv7',\n", + " '67PI6YO4x9vZf9uwc1ySg2',\n", + " '0EMpVjmdnkHKTTsG7JpxIQ',\n", + " '2XzzBQ5YCh6BTiGPmYp7y8',\n", + " '57VNgMxvZ3ezPXdXXWEvaV',\n", + " '0UlfjRRsaEizickcsvfwqL',\n", + " '1n07M1kfsgTBXgWZXu8MS8',\n", + " '5tQigo00JUz51wILmvGOqC',\n", + " '3uof6nVaVYy1ADVJpSg4aQ',\n", + " '24AUlzm1fKSAPoUPMUsoVf',\n", + " '4FNnhfPw0Qmq3wAqqHywg5',\n", + " '4KueqjpMOJ99EMtjd1Q0vO',\n", + " '2iCPsWbncZWZGrAsSPMjNq',\n", + " '6A3WsIqgzIjJWjaZFqR8YG',\n", + " '22a8ESAZo4oOwGZ5tREDMU',\n", + " '0ZgpcFB5pi1hAVYOowOchS',\n", + " '0yUKon7eNOEKFwTUVkCp5l',\n", + " '77FqGIbExuUEYIoQ07aG6o',\n", + " '4GjZzHVKo4LlhRGtCrNxCR',\n", + " '7fEKE0yehBAFBYrf8CgP2H',\n", + " '0njbjpOw7Xka2vM3ID74BV',\n", + " '1aOncfWQw3dNpv7nGk1HOl',\n", + " '7BeycceSkmxbvSKtxIdRw0',\n", + " '3ltp7aRqgUdXIp9OaYQZjZ',\n", + " '4arKPsDN68HpKzwWLuca9B',\n", + " '2A07z3XR3vRSp9igqW6iWF',\n", + " '1A4atcphOI8vxrgp1YJjuf',\n", + " '3ZeUDJ3c0rUZFOcXrKGArB',\n", + " '6IE1pQ6kvFCSwQaEmd5mGe',\n", + " '1XulvzEP0hXQ5OrPhrzXuQ',\n", + " '2ySKeCQ9Bxhm4dVzBe8qrb',\n", + " '5JNOmrqg6hee3mtWMwYMPN',\n", + " '0Fb7NBbIRP7Z6SV3BzMvhM',\n", + " '1MagANszakeiDxzQjEPjD5',\n", + " '2XGSedQ3l3kscCRzKQPuM3',\n", + " '48utx92fOIplfRHhoZrx4q',\n", + " '20uLgvefcMJp0LqnQm5DNj',\n", + " '2NsoIEthMXuPLf5a1f4cC2',\n", + " '7kalzUwO1kHMo4wdtUexQR',\n", + " '3h3zNSAmwLsjlctNcfRJDK',\n", + " '1RUKYqbIAxEeEDg9Qn3Kb5',\n", + " '28er4u4YDwm0wAMKOiErk5',\n", + " '1DIaSOrYK8WdDcUDrulkne',\n", + " '0tmJcjJqDQ7giIVvxqoWRm',\n", + " '3bOhv3HgO2vPwZJSxobZum',\n", + " '5UTtJtshUpWTnpr7t8PvnS',\n", + " '0S3IBaL99UcQ5AmdJjForS',\n", + " '7slDSeklazixczqJalHKye',\n", + " '1yI7sKGo7FUu3GlWtIvdaj',\n", + " '1rRPn7yexnWc0ZIveKsD1K',\n", + " '6rTwGJpY5r4Mugnivnyro4',\n", + " '6Ewuk64UgA3MFArybxROJR',\n", + " '63FTi6pE9uLa2f5IrzBhjf',\n", + " '3zUhfMyLNqFy65d9BSBfyf',\n", + " '2DcLxXXy8B7ZzCrZa4QG4M',\n", + " '2K22n5NpmQE2pieuiZZz6a',\n", + " '6gs9cfQlwl3Q59olqWUT3L',\n", + " '1ClFhz6HSXI17PxihLTJKe',\n", + " '25GhL2evU8rVzOi8vPhBvx',\n", + " '2bjjpCphpuntF9YljUCzjH',\n", + " '1dFhmkvo9ngIbHVdVk5gwD',\n", + " '2dykKyHS9DKf4bJzkI6J5y',\n", + " '32FGCHDhJ4U8Pnvi3maAvZ',\n", + " '6nmduvBbO2Z7CspzttK6ve',\n", + " '5wT63s2qSiSAMbv3NpLFsm',\n", + " '1ndWx5vlRowKMEg0YLODZu',\n", + " '6Ofg387egzoiuBPeRXA97f',\n", + " '7fFjpf06JScz2GFI4CxMvL',\n", + " '49uV9EQLghOhszUVMOIn23',\n", + " '0xMfrNxdV0q8uFNSq1pVD5',\n", + " '3PxNwnRGMoI8dxWzhNELOM',\n", + " '7zXDPPqyFhlC6yG4zb4PRZ',\n", + " '6vvmzMTFmVHolcSDz7yqie',\n", + " '5uGOHduQH3LBlKFbkj8PnK',\n", + " '4nL8BvGhiBSR4zmYW06miv',\n", + " '2hfiEP696MUx57Nlr5ixrm',\n", + " '343XtSUJSKvS0U3CULtf3D',\n", + " '0Az3Miph9nPHIUNuSwUFAF',\n", + " '6jYuWgVsmTahKHvwPE24lJ',\n", + " '2mboexbCtfZs3Us6pPcBGP',\n", + " '41q0stmAUAmgbY3QAzlSzQ',\n", + " '5IdEYeQy2Zme0MbwcjqY61',\n", + " '3FBvyAscEh8swQ87JCu3Ns',\n", + " '4ZtGlZQ6uYUki1G4VpGRAt',\n", + " '2HF6Hqot4EziO6tqby0j4P',\n", + " '1wLa9OEMfrX2tgrHURAh5Q',\n", + " '2wqN1A4PvtRSTHhu0Eobve',\n", + " '5YoYiFQXENLViCXMPuNsX7',\n", + " '1g7nMo5PtgipYojYhi7JLk',\n", + " '78lG5pMugJo4fwY8zG3P2x',\n", + " '0gkWsbchl222dQ53TEzJfr',\n", + " '48PP0IB2tQMg1qXnEqRIQk',\n", + " '6iIlNbMNL7fcA9IMSGIq0B',\n", + " '1L7BX1doKKxCsUAKQHwDMD',\n", + " '4PzCMSffPIYcBK4EalKMcb',\n", + " '18QmQHEstQSneFKC9c3Rfz',\n", + " '4XAQSKNd5Rv4JUdO1QbWHl',\n", + " '12JroJzorLrlsQcuazlXKI',\n", + " '2OYTpP97PccPfoKAvDZ33L',\n", + " '1KhgFvreCIamRDHcpZEmvM',\n", + " '1QEEqeFIZktqIpPI4jSVSF',\n", + " '1GqlvSEtMx5xbGptxOTTyk',\n", + " '39C5FuZ8C8M0QI8CrMsPkR',\n", + " '5E89Izp4YhPyNShoxiOJ1u',\n", + " '5u5qlnyVaewWugJIjzilIc',\n", + " '0870QNicMawQH2cnzBVZ3P',\n", + " '1KxNmUInjFsoDFrLaTtpLZ',\n", + " '6485cn8SoHq6qPdmeQcw4x',\n", + " '0yfr07KdaN1xz3c0iXrVdo',\n", + " '0z2UjZrLSkzsl34IaTAZwW',\n", + " '628iQ0ohhnpaCl7C1winR0',\n", + " '6LnT40TdDDOhRm6pvwaYEL',\n", + " '35IZ9nuY3DfuJjpUCpIhZB',\n", + " '0RuZtsPTHqrrbJ281jWzKk',\n", + " '7oHNnRMHUplYlnRnEHndSJ',\n", + " '0XxgNFSfhZmoRQJr5hIUiD',\n", + " '3Z27g85xtnXaucKWOLwxs7',\n", + " '59NOQYe5EXQifis0TTlXcZ',\n", + " '761r1mTfOieYQPsQ40WM8t',\n", + " '4G4NwhcHeKegntWQCk4lBu',\n", + " '06cZmK3akkrI8nhXPtWc9G',\n", + " '0axfF3ee1WnmpG6VQOTjXM',\n", + " '1vHYqbIGMuKWm0RZ55dbgc',\n", + " '6qqPNfGNBxr3S9Z68QWcNc',\n", + " '0K31kAXzxYsIg7WuCt7RXR',\n", + " '73L4hVngMNjpZhV7VOhmiZ',\n", + " '6fHS420hG98qcZfiD1rbeX',\n", + " '4xDteuVmkSrlb1DXf3QQs5',\n", + " '0QaC2tD6ouiBnUB3J60AIy',\n", + " '4ptoyBvuInUZQm6JmmhBeh',\n", + " '6aHqJtH1UiXhBiLNL9bhOm',\n", + " '4Xy2KN4DdwD2HiYWrPXWfB',\n", + " '2Okj8PwoVBZ0UcRAHFI0Qi',\n", + " '4f2nZZhGgRxaK583pzwYa0',\n", + " '786Qspr3GHllgjF6avLB1X',\n", + " '1GtXYQfa3diPNjgBQnliMz',\n", + " '3F5feEa1pfMhi1N0rEVXvD',\n", + " '3iFOfnwsNiAQwmd3cU7XX7',\n", + " '0TUlJXb9kkZkXCxsGg8Qjd',\n", + " '7jRGg13aPGMKE59fJ1xtrO',\n", + " '37tDk81lj4AjNhw710R02L',\n", + " '7GP2M4TaHxN3TXGE34CxEX',\n", + " '3NqWR440NInxooLWE6WM86',\n", + " '1JwLdInd0405ldXxhOWbei',\n", + " '3VDPGbtkvbySom6U3MFyAJ',\n", + " '0mdDgPYBTpPxLpt8c2huVG',\n", + " '0gVkzm9JxUSceQUfU692wR',\n", + " '13eaGn1Hp54QV1fYeyHyoO',\n", + " '5Q5D76Wih57t3buJRXKY2n',\n", + " '4mv5KPMgzJ7lRtni7qS3Rv',\n", + " '6v4kOi3Hyy2UDljvdImnPA',\n", + " '3ShDOqkayVeamJW4Md0Ip4',\n", + " '7pR4p2MxTzpY3xzIJQhcvz',\n", + " '21j8kL7pQ1WK0c4fUEkdRQ',\n", + " '5l7B50afXhYXpslIF8E9vU',\n", + " '038ULmh8qFNY1EbqG5G9Xy',\n", + " '189KdQjzaWbQmwlJnnPxfz',\n", + " '4BqB2UkJ1fixh54ISPjVIE',\n", + " '2IAhCibsfiiqxeS5dTAYBv',\n", + " '4trElZHalXm2cWcrVeec5Y',\n", + " '7lH2JPmsaJlBMtYmSTJCB1',\n", + " '6NefsXPTPHMRFbq9TAxMaQ',\n", + " '5wqnxOVAc64c8uWFSXkrP3',\n", + " '24GMrXDiivknOPgkbd4euP',\n", + " '1kI20GFPlxMiXn6mHRbn7S',\n", + " '0doeGCgwLpVFQ6vTAmSqnH',\n", + " '2v3w8YEvc3waTby9Iz88fG',\n", + " '28i2Kp2dH5zwwQHKfF4GSB',\n", + " '4tfE2KZqQMzR3uj4Gz7VPq',\n", + " '4ulsipFiZ260b2RYeSj9xN',\n", + " '2zWSgGnEYcrCpP2KWE5JFx',\n", + " '5Ba8CTVSSDDzRvYekAVQt6',\n", + " '0KtLRCFR2lxcqz01Z4e5Hs',\n", + " '6pjbNZu44Ke9E4oVimiObj',\n", + " '5YhgcIllYFuJzYTqenf1Kd',\n", + " '71qxLNutea8KM3oAICPguY',\n", + " '3GSGT0VUiYEFAJcEhMwmpl',\n", + " '3BPaqjeZxpMy0sD6ksuzSM',\n", + " '59Kew1cCXsYhz4GZ9kpnwK',\n", + " '0liE3rGNAIgP9Ss39KkL5l',\n", + " '6mWq2dl58hqAXNRMhRyZu2',\n", + " '3b05LAb05yolhXf0Mth2ZR',\n", + " '7zXDJ4zWSuFMPO2c9JQbsn',\n", + " '1Anpxr1PmzP3Y2CmhgLMdP',\n", + " '0NzrqBD8ICBJQfgUH5fqPK',\n", + " '0XyZeJ1TIk3KVjarmwC3rk',\n", + " '0DPbiLIctlkIMGAhQCAvtA',\n", + " '7hMMYctu5cidsIbi4ifhAC',\n", + " '1RclnYy28WOJBs6K0rCpz1',\n", + " '5Nk8O7z4CFqvQpVymTTUFS',\n", + " '42TYNiUWHayfB300gD48PU',\n", + " '7mBtXdUOkaXxiTyI2YElu9',\n", + " '4M9i1SXiSDxmDcGivXunzF',\n", + " '2T1uYOQZxiY1H57VAiXXTF',\n", + " '3m8kYNJtfFOyYxRzVnlyk1',\n", + " '2WQKIbxrdZQ0AnaklLMTG4',\n", + " '1jpznXpShjiN4QxCtR7B97',\n", + " '28chvizZMpGmrEcPL3QyvV',\n", + " '7d8iDq8oHAU848371vjm97',\n", + " '1fLdrzbRrgwKKaDMQvgZyq',\n", + " '6QuYkDkmG3hpOmm8mwPiOB',\n", + " '2OofQSvXKs95IpDAHA4fQ4',\n", + " '5UZPfLVnKmUakMAbOopzqd',\n", + " '5Do6PZrfUbcoz34fx5gfHF',\n", + " '1IW8D5dbWNT3lDbZKMWsgx',\n", + " '1Wn4bafs7AXTmuic4CMZVe',\n", + " '7faKvjx2NdiOZgGuw0X023',\n", + " '6AxMfc3VuzIkjhkagk3Vx8',\n", + " '02ueReHec5S0dbcRG1HPtj',\n", + " '3lbUkM4UlWhGBXO6dAyHks',\n", + " '69aWa8PkCk9f0UhfORs5lO',\n", + " '0yRgFCE4mt48JZOimioenr',\n", + " '7ucCp2blzUW3PpT7rfZZEx',\n", + " '5ypaFYztojGiCCfrXK5lf8',\n", + " '6hR7LtQpS50ogg5qlfaXy8',\n", + " '46Kdmg3ItQTtqWGHxx3gEC',\n", + " '01g0HOrQBIuG6BKvZufjUb',\n", + " '1f54xSqNi1Nhb0FIfNnJji',\n", + " '33F8Nv6xOEm87ItjIE5Nbp',\n", + " '46FqE7A43FOP2rWT0JWpel',\n", + " '2o98VakAuOOtrtXWjUEZy0',\n", + " '2FKIi3C4jQYKhOa23jYOkO',\n", + " '0Zwdhogl0nCeIh6q34rJ9k',\n", + " '3oy9uqbsrk0PbH9UGkTTr4',\n", + " '3B9PlayH01py4WQ80heBpG',\n", + " '1Rpw7Wd6lTBcvFl0PmqZbz',\n", + " '1EngLyLHPmhWzuYLuD2O1B',\n", + " '5zLqoQ9tyEz7bQe12cLcSy',\n", + " '0rny288NDTVlf9BMfK2y97',\n", + " '4dqycccQ2aY9Aejbnx4PpX',\n", + " '0nzz82MC1qEegfoQclEO3R',\n", + " '5cXpiIFDe4BRew38LpDtYX',\n", + " '3MyIWM60ym1SaXdg2SOBGj',\n", + " '4iTD9BY1oFnMOW1KAz3ZbV',\n", + " '4zk5b4qHOsmnGpMMeasSW3',\n", + " '1Plx5H08qY7mx7aAlfYGKt',\n", + " '69jXmqPQHkLtDLIryxU5RT',\n", + " '5zdro5u4dycyIxhJsy57Zm',\n", + " '53BR5F2wZTBXAO1v1LKkcL',\n", + " '7iWQK2Puj4dGmqr5FQLIQb',\n", + " '3w8XSM5HvtIswCyvUBDtRZ',\n", + " '1O0eTlzjEhpUIrWrPS4JhH',\n", + " '3QbnMRadaXqmlghaglLAit',\n", + " '3IKJNHnVZ2bXGjAFBJiUYo',\n", + " '1PZ3DwxBYzuRYXt2fpomfY',\n", + " '4HFRItYjNrcwT6Vbtbk2i4',\n", + " '0BfFxZfRGcf6FOCpZ75tr0',\n", + " '21t1bdwV3pEawdK9OhsauX',\n", + " '3gY381aWseWtDcnanY9n6u',\n", + " '3zjDIbQ3lLWXekq1PBVYM9',\n", + " '0Gnx4WTUEUxA6WBETrp3yJ',\n", + " '3I28TfbHcWVhCKxmCIhs9F',\n", + " '79muBjOf7N6akgrEJuik6R',\n", + " '0ssM0AZdWKEEaqPTHzwYWl',\n", + " '1h2NZP7rlDgelQ0r1tCOzs',\n", + " '1dkOzzk8kvHTeWypcYLV8O',\n", + " '0q4vhpxRAJBPwtmEXajbE0',\n", + " '1HHobQIn1s7RRqUk23PZCV',\n", + " '4uHeKyqaU089HL5vmgW83L',\n", + " '3wRwzfe26pEnZK9hpjRgPu',\n", + " '0uacW6Wz1Grf2spPPQKJDq',\n", + " '6X2ewTZwrJcW040ww1tBpv',\n", + " '66XXNFZc2pXEvQJxjXljPT',\n", + " '7o1YOnkZBCXwKytbCsVUc0',\n", + " '3nAVxFheEPUGmB44Ip4Gqz',\n", + " '7guWLfbHTohEChAf2XM7Je',\n", + " '7xU7nhdKCPCQCMp2EICz7B',\n", + " '3yrOnyhaz7PVp995EqVGKY',\n", + " '7gKPyPCt4nwaTVfJlgAKwW',\n", + " '6XdcBXiqJIOiVCH8BWbMmH',\n", + " '4kImjIIiFrzD7E9H8QE2XC',\n", + " '3BPc57lkrBmnKpgmfF5S6L',\n", + " '1b7jM8mLxmJQDLXn4A6hos',\n", + " '713IwzDA0qSHZLNI2mkzzz',\n", + " '0PlcmNiyEnRHQFZ14KxS6c',\n", + " '0c1Hb0Tg7yA82LrHyBVmEl',\n", + " '41zIahDCFqHTdXvtLcHrLr',\n", + " '5vG4yrocD3WZBMsUvtKJJL',\n", + " '7vCdnd3OhjCcOOFWIqcBNZ',\n", + " '2N7gnpTs70dYGHz5F8gBPp',\n", + " '3BvDWzvGW2XKwWvyvePd35',\n", + " '3AASjUsk53jkjEToHF9zD0',\n", + " '2T5p7T63Jnu0eYYaNVpjG9',\n", + " '3ZufkKoXGPSRFQzkFnTbls',\n", + " '0nKNRuSHMpADxToif0IHh3',\n", + " '0J4Cm53So8iMPc02fIj31s',\n", + " '1jM6WWcr6q9WXcgtCmEZIh',\n", + " '66eN98NAddYEvGrah3Ut9S',\n", + " '0yvpBvhz7Xft2zJi8DfKEo',\n", + " '0ZmT7DQBIjKBDruahTLZzT',\n", + " '01tBpn6TR9LTG1xbwnXUOC',\n", + " '6OVpwWUoAxnw3wHahWY1Hm',\n", + " '35bGvmkMIQf6b48rOgguKJ',\n", + " '0Y8kROhHXpVgGzwzxfWiBs',\n", + " '6V3Y13ZSA1bH7YAbUo8Umc',\n", + " '5yEVDOUz9C6un2lyoKcSRA',\n", + " '5wjf8t841zjxZb3Jobcw5p',\n", + " '5JPbi8tVqfXvluElFmvOOG',\n", + " '4DT5ewYCLjhAVEqPMlSGKU',\n", + " '0y2DBEp460zmIdothHGaXJ',\n", + " '5sFz2Pvpu1barkrc4qRePf',\n", + " '2DVyJpS1BbrYNXlHU23o8I',\n", + " '7EAI7g1sOg4W3x1GeZ0y3p',\n", + " '2RSYXgNps0QUE12EuIUGHL',\n", + " '2OamVmtzJv63wz5YKeB1jP',\n", + " '7aNHlFEALD1GyiVpQsbtD0',\n", + " '5VJhCjNMfzxbsu4Z8x0Tmc',\n", + " '4b3FVdEci0ngvQ14dbcUky',\n", + " '5FmIW8aV00ckb9H1c3OBz6',\n", + " '5aDJnYESRuDPyiDRuv3PTs',\n", + " '4C2XA7HSJyii3qBNaVvWXh',\n", + " '4PqR2cOjFbpSI102g5PcCt',\n", + " '4THJ5Sv4W1kCyCpcMUxeI6',\n", + " '42apdfc9dMUDt6lj4ZqE0G',\n", + " '3zG1YiTu53KCt8W56psgs2',\n", + " '0V6QHamVjKckMQj8A1vLNw',\n", + " '1pk7mS3D6hRJsrzCDev9UY',\n", + " '34oYzILaNsdFPt48Yeb8aq',\n", + " '4pEueOLwLhEoc96uSzmoOa',\n", + " '1vd8G0yW0xGnYOr0Dzzlnt',\n", + " '3nSQFgC04imskFbhakBQSa',\n", + " '2cSyWycFZHGQ2ELxB1yO47',\n", + " '74p1Q4nITXMojVHWDx5hdf',\n", + " '0Qe28Q85j62LVl2JUEOLxX',\n", + " '07F3ESKP5JnPLLR2T3wXU0',\n", + " '7EmEXfocJvKuNBrOsMYCel',\n", + " '56Wu6MLQrCx7Oka8Gr5H9E',\n", + " '72S3oaJeYWh2Zy1KKIeZBF',\n", + " '4tUWZN0tk47NBkzmdyL9N1',\n", + " '4vq5IRroUBkoKxi7X4KlZY',\n", + " '1vsnkYZJznfjvl4Rm4nQiV',\n", + " '5VHogsbLW97uzmSqlXedpD',\n", + " '2QCPdXkpekHMCiYMWaHz7C',\n", + " '4NrDG87OZNpoOAaRxDWUb0',\n", + " '08iX54GYqpiYrnyOQrbmd7',\n", + " '1lYHmwSNBC7JaAMiGuuehh',\n", + " '1JuQYfxK4I72QA7nWyUCyo',\n", + " '7eDYeJi0gAxDH2auWaB6mn',\n", + " '3j8S8KBmZ0fspWLgdhjE92',\n", + " '36p0WZzqSZbuJ6GL3lLq6m',\n", + " '5OHM3bnma6VwxXjZHTqM8w',\n", + " '4E6pZADv0U8MTGoXvUgpzD',\n", + " '5Vk3l780xqryk1bXFj1eXA',\n", + " '130CfQvOrk9QrdlrE3JPZ5',\n", + " '1A1QRaRooYKbGvO7xpA1A9',\n", + " '2rcBDsiaKdguww2O9AYjoL',\n", + " '2N6KIPLqW4jMv4tnhQXidN',\n", + " '1NUVOZhxI9izD6PIA4htjV',\n", + " '4CTYsmwFdeUI77SoCwDyJt',\n", + " '4fBKvwIDTuxdW2yPNFJig2',\n", + " '7klAtSXIWtKLGhufSI4jtQ',\n", + " '1isEbMrrxgQmB1XSdtaC3Y',\n", + " '7yNpjIlZf1IfPTJw2JtA9i',\n", + " '5ysGetkWqcB4gwqrOqKm7Q',\n", + " '2htFvwhw3F8OHIYlfqzyv6',\n", + " '48H6km4d7fLzWrTMYKAvZW',\n", + " '1aSOfkhxUYtAq132dSMV0D',\n", + " '3sOIPl42pAUb60WuHVVvXk',\n", + " '0KQUpBs9srxsuhJcunH5pe',\n", + " '0BkNycOL5hPP21yp01YKVP',\n", + " '1OYXLn1ztSS663a2xUQzQZ',\n", + " '5OyAEIquE4ODGVH2IC0Auh',\n", + " '4IRiaEGa8uGgadMKR2aDSx',\n", + " '0jF1ILlKzk2UZ3bVVvWaqX',\n", + " '2ZcVqLtzf16MrHhLfHshHU',\n", + " '74C3HURiSROidDuD80DJag',\n", + " '0qKAhkAm0ca4hg8NgkwpUN',\n", + " '3y9ov9k1B1FzPetN69t1Zm',\n", + " '4muDwEwxbsE6CmrujIW5wH',\n", + " '0ElJklEvlic1SCU0MSUkyX',\n", + " '0Pu8UO97tiwewHQb4Ggghe',\n", + " '26UXzFQogwW5stQEgzNeHw',\n", + " '0m22Q28vMp1ByxDDBnVkYB',\n", + " '7EJBAQMFl4IifeaY51t8ux',\n", + " '4nMijbSNioI96X9q86ho7A',\n", + " '1Me9b9F2dGRUwCSoLquKDL',\n", + " '1PHg2IdbM5FYYXKSWjJx1C',\n", + " '0uVvt70WcACGNWOWGw22nF',\n", + " '5yW0uJpWV48hfQLjQSeTfD',\n", + " '2S3ZApI52emz9AKyzTnGOC',\n", + " '5oVHE8mSO6RTSj0HGHqaOr',\n", + " '3BEEA6JBhBs09q0ZkgtmF6',\n", + " '18yV3QnofrUDFFRd4P5khe',\n", + " '0l6DuIH82yZ3PWKKJcb9X5',\n", + " '6tjOSHYChrSrSZygyGjOpR',\n", + " '4E0qLOzOw2KR2psD3yHw5v',\n", + " '5R7THWQWfq8iV7gRzASWaF',\n", + " '5EIpqs3iNkHcJrgvJa8NAG',\n", + " '3SOxBj0IGfX4suYnG05UFD',\n", + " '2sueastsGEd7UZiJUH9XQJ',\n", + " '6ad3rU6K8j7EeSSB8x5nao',\n", + " '6eCv49qq5YSAPBfaEnXTK8',\n", + " '6S3myrxsYv5JutUHPUDm8V',\n", + " '3JnDuvHjBBn5vUS5IK6GNa',\n", + " '3ZM4ulEztk8iVlUJvf42Je',\n", + " '6QIEqG37f9Dy2nbp7ZhVL9',\n", + " '6qUuoftQ27wyg8qv6RlwnN',\n", + " '6cdn8SQnQUolSBqo0TXPNO',\n", + " '3CmMGPhhrLWIp9Ig5HMlYp',\n", + " '3N2AaBcLTVc0NsNS0bxBIG',\n", + " '0hzppGBjxc7FIS4kaBsM5o',\n", + " '5pMyK3Q9bIbVcQ5FehaSM7',\n", + " '1yrhdGNQijC3fbPR7thWh3',\n", + " '1gI1w4wIvjtyTuFpvHJPk5',\n", + " '3PcsHwHhAyALYlkV9XskWe',\n", + " '0cRsd03SzAmztfKYCkbrYx',\n", + " '6dmZzyfAWUBfDYXDD1SbwB',\n", + " '3fyngpXSNYXVqYXSTrQwvF',\n", + " '59ltsHQUS73cllnub8RHOD',\n", + " '2Q7Aw5w0sGRIC0DMC9VwhK',\n", + " '02PP1T6pIBOsl990ZmFYOC',\n", + " '1YeTq2Ofc4xRezo2xVF3XU',\n", + " '4Cu36ugT2X0vjAs0L7wevU',\n", + " '4CmsjEFcvIoBuSRdiyOw7h',\n", + " '4vx4y88utqQDgVlCS8IEgh',\n", + " '1WiyQpgNEUeDz2IrU0OwjF',\n", + " '0NbUJe1fHB7KmZySp3OSrJ',\n", + " '6idUjLmwLR372bMpwCH3pL',\n", + " '5JHIg1kc6nRRxfmYTH2G29',\n", + " '0QU0ESw3TGU5S2OGTMKKJt',\n", + " '3k6eZzqRLPXfJuUJ0o9bIT',\n", + " '1pP9FwGfnzUt6RxkCm1GiT',\n", + " '0j3c10oMnsQVT4JmjpQXjF',\n", + " '5PRHtlUTvKhu3ZItX8lY1J',\n", + " '0OMTXoO24Uz3XisjjocPb5',\n", + " '1GUkgav5yicuOxr0XI9dSi',\n", + " '3E9RfYAtZH9jTJgEiQVCRz',\n", + " '2REXI1b5VMEmdAleuG6iWW',\n", + " '7h6RPC5K0d535ATbS5Wnnq',\n", + " '09kNvOv8sT1s22RwDUH8ER',\n", + " '3mN5eixTMcvr2Yrz9CCW2L',\n", + " '0PneZ3Ou4k0bss36OCTZPs',\n", + " '2YRQL0f61TwxRoAfz7J8bw',\n", + " '5VtztjVSiMsgUHBjUXnbMC',\n", + " '7bnS9p643viJKYiJ4rNZvW',\n", + " '4m3nBJgNkXSXGgprxjKR6Q',\n", + " '3hPYZWTZPGBnQ5fCAl6d12',\n", + " '7DMzjEW9rLZzbDAlnYiZAZ',\n", + " '2twhsad4mBRGikEh7eaKgy',\n", + " '1SDSntPCFYZABVtH5zEHZp',\n", + " '0Sgtp5JxYKwouwcluJyJir',\n", + " '7aZuLqm3Ft8eUnzDYkJrXR',\n", + " '5aDYGdP60xt2hMdv6Uomgx',\n", + " '1qcoyhKSuvdnYzz91edC4h',\n", + " '2GJtagPDf6jlsmnab1WtxU',\n", + " '2SgoKAOiwv8uA1STu5IIiv',\n", + " '47ux5RnqIfnZSQ6FD0F6Ao',\n", + " '1Cz3XjDaeublmquUNl4Gv7',\n", + " '6FqtuF31WZ5BQITGsBDanO',\n", + " '54KwuR6fcTNBAT7mUcuzcC',\n", + " '41kdwVgHJTAezNreUtwbqi',\n", + " '0Y1i7MUZpUohcOHTnR30Xg',\n", + " '3ezvRljeJHHKdWCTb4LVk4',\n", + " '2R3NAU8T75IPSGhnrH6uUE',\n", + " '3qTlUa8OsluuJ1OM1f9MIz',\n", + " '2jIpmDcdoWbJPaZmXuqQce',\n", + " '3g8tvqjL8ujKq560r8ox9A',\n", + " '5Rpb8bWBGFjgJpqG602nsh',\n", + " '0AKgA0NFp4w7NLuzteLTEX',\n", + " '6G2baGa99QcqUUTmkEgeZl',\n", + " '3BtHClmMmURD8UHF2fiyxt',\n", + " '4IryVI254hGj0J8ND5r8gZ',\n", + " '4dXBG3zz9SzaPBtm4Fv91x',\n", + " '7zMAm9ebhkMQuGrYm8FcPt',\n", + " '0brL7VMo7onJJTGMSdajic',\n", + " '76sVqjHYyW99EpeQLDkPME',\n", + " '0k9tUFpXZg7TvMZk4l6OTa',\n", + " '73heu76HyAQRRN1u3vubq6',\n", + " '4e0MJaiXSwXBhrQZHyoK8c',\n", + " '6x20PMZz6zDTODupdLxJUZ',\n", + " '5X2Z78KBrHKkzcjdZZs5UN',\n", + " '6ENZJCRagbW3jlzXSucfoI',\n", + " '1Yk88pNibq8kIHKDQW5Jnu',\n", + " '0Pie5DFAHHxpkONFUsAI6s',\n", + " '3VKcdJ6aRf4dHoOEo9Pbif',\n", + " '2QOaL1vST2Lt09D9wEjDRr',\n", + " '2gJb5tGoUNN35tR7zz8uEt',\n", + " '3PyqJ5NXE5D9Cv8UMMF1U9',\n", + " '7t8vPB7CJRKqwomRjIor5P',\n", + " '0q9vmyU000fbrfDE03023b',\n", + " '1xxGDsherM3aTcxV6An2kw',\n", + " '2coXSAuq70Acs1mZnGmAKt',\n", + " '5nZiEXJVirpKLJ8jkBT9Rg',\n", + " '2LMF3HcjEtaPwlC14HIqtG',\n", + " '1GIaViMh2IUdFhyTQgTcTl',\n", + " '2GKr4TS5FYVtsnxxO5Pcf6',\n", + " '7L6d2eGgrkw3boaR28HFOM',\n", + " '3kozxel6OXpqEKcOMUmOug',\n", + " '0I3mhmsxS8tB1hzsuWB3wB',\n", + " '0JHj3pYw6y8h6R6FNfSnnH',\n", + " '63sJlK5JWLGqSfJes3Y3mi',\n", + " '6o1bbXshGHDXSGlfDpemlR',\n", + " '6Ae4378FUFc8I8DVM0jXOX',\n", + " '1zRLV0pbmIVJBwT88gQzyN',\n", + " '00JdkCJxJwsGzoyZWNgqEG',\n", + " '7f8LSTO50nDEp9KyeOVWtw',\n", + " '2PA7Dk9zTruJeLOCphigr2',\n", + " '4Ks5CGcmQI6p8ZX7KiuTHG',\n", + " '7MjxYdmAIV76xvAaj2sraL',\n", + " '4NAGATbGokMMWEzDBOJVqU',\n", + " '4FqOQtDQKSiCCvlOHvhNq9',\n", + " '6Vt2pcLFksdb0bM3nOe4IW',\n", + " '70Yo9jkvh1gV3yDe0141Yz',\n", + " '75KqVsM6T31bFnue32AM3F',\n", + " '79lHTYq7A6wuIjGqN0XNAk',\n", + " '7HXyFMEMs8pP0r5OZxoCfs',\n", + " '7BQCCuOmYfZW31KR2Kv1yw',\n", + " '64FQCVe08FtIScoq2Xlyx2',\n", + " '0gLdLh3LjxS0cbDiswKAQM',\n", + " '2usojzuRLC91cnmnSw7xmp',\n", + " '1rx8zSFZhKypefh8qvrHxE',\n", + " '7fAgcK6VxcP4p0z0VEpxiy',\n", + " '3eHstJbg2JvAeHaz8Jf0Lp',\n", + " '40BDNXQr2aERvuMal09dY8',\n", + " '0hbCmpV4mHtYBfdLFCIVqM',\n", + " '2ykcZ96LGBC7Clao7wQ7AB',\n", + " '4raJx82gmxDZe1WWD0awSQ',\n", + " '7thAd1NNnJyfYwMRn8tcrJ',\n", + " '5aULPZOrX0xcZKIWG1qNmN',\n", + " '1t92HRujt9OGB1tyyJhzlZ',\n", + " '0l8Hd6CQl9oqgtWWYDEPUS',\n", + " '2O5OR7ipxPdijSvrLqjc53',\n", + " '0UC0mWXTM2HOPMN95QZQ7R',\n", + " '26bKwsHRyZrnZ28dU7vDeY',\n", + " '0evRpjfMX3ByViJYDq8XTe',\n", + " '7cd5O2Ab3SwS6ZE2TvT1mP',\n", + " '2ml27ikCR0UOmnJOTjha5j',\n", + " '1oIm0XK6X7MxKsNkRXBSUJ',\n", + " '7Etj0OW60Xb8Yw01at7ktI',\n", + " '3EMcEc7vaFR0i25WNKS6st',\n", + " '1UQND1bVr3Xx8DMlRpwWH2',\n", + " '3hfOdY9DDcAfzU3mEAGRZG',\n", + " '1pqkzLnwwcImlWI8aMSZjh',\n", + " '5rjoFazCONeeSNdMSVIyXG',\n", + " '5ZE8SvDrzRRl0htATN5w7x',\n", + " '6eoKkBSKgDeNoNgpkEUVFV',\n", + " '2szeyomMNzrLJ95Y90sJ5T',\n", + " '0HdHPQw0UECzRUWu9gy7J5',\n", + " '3shu5mKHN6lNXai8WZTXpp',\n", + " '3A6NkFAlyekfYFwMV2AMPS',\n", + " '4fTZIxKmzjzVeQENNFJTCk',\n", + " '6tBCWkDaklf0qgktelT23V',\n", + " '7dzjJIdNsQPss0K3vR0dBa',\n", + " '2VLkrCLavNXPnJBZP4P0gU',\n", + " '5R6jPuo4OhD2qeoXwv20mj',\n", + " '4OVsou2NVnjeJxq54tDbPd',\n", + " '6rN6KDVVZyNIOCjihE5Ibk',\n", + " '428g1lreLRzjlTHE0RQGF8',\n", + " '2TnfqfPitUs8ze8fIj7eBt',\n", + " '11bSAKPhIPD0BMvkOsYue6',\n", + " '4rs0hLP7urGe69THYrLlEL',\n", + " '7KvwdptkEhGD7e5x2Nv0fw',\n", + " '6h0vHtXBWxIIuQ1pnRKCQu',\n", + " '2Vs4wLNsjCEKrI8tBEcK2I',\n", + " '1rxOqtXSTlorDB1lwttjWr',\n", + " '3busxoSY0VJCjp3Eaha1Xt',\n", + " '2fyGKOFO5U14vw0WKxtrDH',\n", + " '21rBziEQ0STckxDqMP7Z1Q',\n", + " '0GCnTDZq7yp20RP69cQH3i',\n", + " '1GNuzvdI4aS4Vq0KxMglc8',\n", + " '03nMGSHgeTCzl5wMpkMj7s',\n", + " '60gFsY7spfGK285Sh08cey',\n", + " '2Ip5kACfFuLZATaM121yuM',\n", + " '2RKrtMdkQnxedBK5J3tMlm',\n", + " '5gOdzLTwoqqkkeeHzYsnOo',\n", + " '2MwvPSTQKh4RanLxs6gJkT',\n", + " '0dpmAsI75JiMySo90G6YGn',\n", + " '4bVr1rQceqbucl1WfiHUuz',\n", + " '0k77IwpcYt71aX4zPvCglA',\n", + " '7AKXA5xFI2BI8IujRDe805',\n", + " '63RO5uCfcT3qXXxXRJ41aL',\n", + " '43AgI8dPk3ViovQnM9mXIM',\n", + " '4e3a97hxyPJ5VeNe6X7Pgc',\n", + " '3rIzsLPGorEWNqItINucpD',\n", + " '0DnKFpTobtQCZerHNQvVLy',\n", + " '7pADH9N7VWfwuFGgUfDZdR',\n", + " '49uEYUI42atpmJdHejV8I2',\n", + " '00PDJsPiPGttHWCjMxLQMU',\n", + " '1BnoPSg2wIPXls3EDQZ5qj',\n", + " '61mWCcWFtePbBzIee6jekb',\n", + " '0tZLdukaElGOGXlRnApvH0',\n", + " '0IIMtCLg7K9cg0yihbhJ2m',\n", + " '1rNv2q1VblTIl5KET247G5',\n", + " '4pYmuPoGGXc3tl9OXfGT02',\n", + " '63OVSweZzBFyudAxB7jNw5',\n", + " '0wPyTFPPEdnpuiw578n8rG',\n", + " '6CTy6ypBL3owdT43LYzyP9',\n", + " '7D2iCUBrscXMVB3x6qjbtM',\n", + " '4qidLlhLrRxnAcKEpAuLgQ',\n", + " '0FZ7mvJ0R6Hpxy3nRyYq6i',\n", + " '4zGqMuXHAgbORyyLJkr1Hz',\n", + " '2Y6e8udvsXXVck8PR6BrtK',\n", + " '6BNbDInw5CLvXPRtxyE1Vy',\n", + " '2LEIy96OfT6hZHY6aj8uop',\n", + " '6jOeiq3XNXSuGFNKSOXvrF',\n", + " '3Vj6u4ErEoN9Lw75bcjWQ5',\n", + " '0Q53aNLl80CwZkRukOJvBn',\n", + " '6XbMyxczpT0UUW4ZKiPsgP',\n", + " '52XMDE34MNOqqG3Bj2nQYG',\n", + " '3DypQH6LxR82yjCL6BNUoS',\n", + " '772ePAxKqRtNNmrseaUa0G',\n", + " '3Dsq9csjOjkIiVZayYjvAB',\n", + " '6gZrSdkdFgkeUk3dO2KZAo',\n", + " '5xsLxtOlg1fN1f7oFQgzVK',\n", + " '4nmdE0wrXb7lf8LjQi0UCP',\n", + " '2tsu5oAERYsxbmjbMeooEE',\n", + " '62wHZPYkhStwwHPTY9ywv1',\n", + " '5XnCEiiMdJW44Owb6UhuMS',\n", + " '4T9AEkoqjgNQZ1ot0Xb3ZS',\n", + " '3lEK5L8VPdTIYP04Bca9rn',\n", + " '7KaNeYpUM5IZREmwx7yfue',\n", + " '6rN7hfYvh4QgYvph1p8ByD',\n", + " '1CLlXxWIcESQSQ71AjBYa2',\n", + " '0VtIFXvdMgjjOGeNOnQHXP',\n", + " '6CPtdYgmxHKJbdWYPqUnHq',\n", + " '5z40P344HoZA8Ei5lZrHF3',\n", + " '6OCKwOfgftCFU9ftctvS7H',\n", + " '5BsBQ975edbr8woYIHhBqB',\n", + " '52PmhQHlWp5loXdE5ipxXZ',\n", + " '1f9k3BvoK3RUSBJaSmjGyM',\n", + " '1gacRSlDMOKRSJ8oUhtFWe',\n", + " '7Dy9133siFvoIEnDcUo960',\n", + " '6hkzBhdqneSjI0u07h5KIY',\n", + " '66yihjhLGu0gIeWuh2zcAS',\n", + " '5IyUr2JmekqUlbNK2Hrnzx',\n", + " '0jN5U8nDM3NXr3mdxmJwr8',\n", + " '44sar7yC4buxfLUDgmHz00',\n", + " '06aqbIA73Ws54O53jgH3JA',\n", + " '1DLivo7fZW3msYLLGv4Hgp',\n", + " '5Uy5sUrlGxRhbs4MYhwvTh',\n", + " '4ZVgffMK283HC10NeRsOo5',\n", + " '5wo6eZNsKrBbc1uJznJy8S',\n", + " '6LhVseM1FlkSCHN04BU6Nx',\n", + " '19mm1aJlTYKD2hQD2SBWhD',\n", + " '0aaU13r9PquXd44k8hOP2c',\n", + " '7JGcBzUQIvZ77bZGSa3qcX',\n", + " '1lmXaf0jssevKC3t5ArsBH',\n", + " '3mIizX8sneJ3YuwOFPjmYO',\n", + " '7507ETPf4RYhtM6gbxP620',\n", + " '490g0sb0FThozOGZEyJj0G',\n", + " '21DMNxn3lLWYqaTm3MeGAn',\n", + " '3T0HWZFYwE5iPXTIHJ1MMS',\n", + " '3w6wDlhf8jA35Mlu3rCp1p',\n", + " '5XiGGv8Ut2jlvL2dkI6dlI',\n", + " '4s8z9VJ2sDC27D4TQy80mP',\n", + " '3BEiRBngeY5wWC1uaNYJYi',\n", + " '4TPTgUznjorP71BTMG8nJB',\n", + " '4Gm7IvZtIOImrRfrd6SDaQ',\n", + " '6tTrTUFELLCoewPr1ZIX9f',\n", + " '3vtyxtDrkeiayOBUcKqdhS',\n", + " '4e9H5ncyqVMwpNLjIS0XKY',\n", + " '5MC3xdlx9DFop1Y4J1yDbE',\n", + " '1U3tKTua3U5v1LtE96811u',\n", + " '7ig6fMIrnoVayoBx0Mkos2',\n", + " '0ZwmxI7tjVJ4kvqBsbPcKT',\n", + " '0cg0GoZEPhLQe9WBuaRDBE',\n", + " '3D7Il9cojvBjEzV9yDxqsx',\n", + " '0cNwyA4Qiyr29I90ezhr0X',\n", + " '2B5UR4Q9UyiepxgEx8vOW5',\n", + " '3NAeXAcZBHBUSMAOPE87md',\n", + " '7FSzRjb7cnJos7Nd1VVhGX',\n", + " '5JhJGia8DNXeB1bEoQCf7y',\n", + " '7FAlfYa0i3ddUUb7dMv122',\n", + " '0uEsoJIqYyD9878gERdATq',\n", + " '24WOWoSbnXll5GUxenKGbY',\n", + " '776dlpuCWFVwd0GLKFtE5V',\n", + " '6r9baELhdKOrY1iFmFrqGp',\n", + " '7pPcUb2Z3qiPC0KRiDAgdW',\n", + " '7goFVvPxwwIENpKiFA9ZyC',\n", + " '5AIJdLB4mYjnZjXhaVQ5oL',\n", + " '7bS2TAAISDrIMYhveK4GAE',\n", + " '0aIRzAGpqgfVw6AoXv0o3s',\n", + " '5CdqYg11z1q3zQ4KuVlw3q',\n", + " '56pDrwvHoN5ms4CGRfhrQk',\n", + " '4yiqH3se6ojOAAxLTJ4gnA',\n", + " '4vpUe4Ug4k84iXGtBzODO0',\n", + " '3f4AxcQN17AuHZooxfLszK',\n", + " '2mzTm4cxTSMtoyNjLqaG9z',\n", + " '344zVx3UtJcaJQ8hTkFId8',\n", + " '0qnow66Md2qfHStWjM2Zhv',\n", + " '05k5hQBg2gSadrEec8WnmC',\n", + " '0cbcCfOTp58UQc1trgin9R',\n", + " '585Rh5y53lrB6yVoC7DgBz',\n", + " '5bA7SLzgXSKNhFrnyqicma',\n", + " '73eztWSnTK9iCzR9n0LxTi',\n", + " '3ozIZpnFlf7VNMXzFoOV6H',\n", + " '4wUXOGPiok0BoZqD9RbObf',\n", + " '6R6XDidPj98Uc4ABJQqKPJ',\n", + " '3xhCA7pj5GfMgVLEujMeRq',\n", + " '2yYmMOIIeKsy7qK3mRJcfw',\n", + " '1uQA35FEhg35Ne306A4k2r',\n", + " '0B2Kiqyixi6gm0JYYAIAro',\n", + " '67loj6crIEUAMEI5sjP0pt',\n", + " '1vl4rjAzZSM532nU5gCGjl',\n", + " '0qCQAQItuWENlvQPCa4wqS',\n", + " '6bwWXrePq6muXd3cxFyfXG',\n", + " '4pwZPSExQ5Lcl1wOK7PGZb',\n", + " '7FchuYfPKYF0blPSPo7xOT',\n", + " '6Z5cts1r6DRpOZpZtD1isB',\n", + " '58tQRiihXDA8YDfhQ5oG7Q',\n", + " '2rnnElpa5cz3EyNIoG0eIp',\n", + " '5VpWH3kKTYqafD6Ry5N003',\n", + " '02PaqhUa9sBGljq8xZFzok',\n", + " '0fNqTEqXw6JItbA0Il6kNv',\n", + " '53NPPnSPMPcdb6fJArDSgJ',\n", + " '0wyyQUhuklx1w68itPFmDp',\n", + " '0Stms2gmheXSp7Zm7EOULT',\n", + " '6LaHedrMZpyRtofNBp2wwF',\n", + " '30C8w4ESsSOSgdiRCOpWsU',\n", + " '5R6hx7xisAwJV392SsGMmo',\n", + " '0nURjPxZksmOz8NaRNhw6d',\n", + " '5KhTMFVr3DdPzu0BBbfOVG',\n", + " '2eEPz9TorWk9NNdqlZuQmJ',\n", + " '2fLWbxpkjrYNIQifVKa2sd',\n", + " '5v7GkDd0BWt8XIPXDPoaCw',\n", + " '1GYppJs0VRRU1jMlXmp66X',\n", + " '3l5R0ltI7UufbrjK6Kj0Nv',\n", + " '4e52uMoSwyZ1qeLapcQwmS',\n", + " '0XgiqBJdc6ddfnpNF0uq71',\n", + " '6qFR2bNHKqgTHfZWydkRXu',\n", + " '56p04MZ4wXJocx5qac074J',\n", + " '3Yr4iI0hT6eLt6EvTKWWTF',\n", + " '1pTaumznUIsJT9gxh4wbzg',\n", + " '5n7Dp8ATq4GHlHiRnKlKHR',\n", + " '7G5MrW64VX9WZCnqKqgc70',\n", + " '1Ohc6Vp4RGgvFKiMVhEFMA',\n", + " '0MfMViYWUncklO2ULTW2jl',\n", + " '3J9QYkR8sVZurrhaQUoWra',\n", + " '3nFDFfMSCazV8z2iJjJJWk',\n", + " '1Ju4c4wXknaB8IXEqGyX3E',\n", + " '16uXBCBnhu1vlKA8NQPEla',\n", + " '0ss02tFRT64ZQAo85ACfUy',\n", + " '7qUfbVTUGRRQQl7ukp5Ryu',\n", + " '4J50CFnV3ELLPdO91b3S3E',\n", + " '2klQ1FqRyZzX8P0zsrIZvb',\n", + " '6IflUVmTtVAEzjbxEBYzkx',\n", + " '6qbOOSMuLx8Iu6r0ZgBkgD',\n", + " '1A5KUdgY25w1shsTc4vBXP',\n", + " '6s7VMDQF0y34idHHOvUNU4',\n", + " '5UwAupNIPs5JhHQ3JmM6l6',\n", + " '3fvoWfuPjpSQ2QosmTw2nS',\n", + " '5gyGC6yxOrsgDeXT1RbyB8',\n", + " '2CH5XYVNucZGLFageGKY4j',\n", + " '3DjCCPaL1Pz2lQf2ZnER5X',\n", + " '1H7VGH2n4xNqi1bu6TSkGk',\n", + " '2spI9rsadtH5OlgMWuWX8e',\n", + " '5NlQ1ZbINkFVX2vtDyFd2d',\n", + " '5tLEgFI1Ud3bl5wPktw7mt',\n", + " '2MyeqmDOYcGkGjwCQEYqvn',\n", + " '6fBaMrWPbIWEad5586YHQJ',\n", + " '4UkLtb37oAQ2upk6ZHaEPy',\n", + " '34v2XQhXpDBsBBvPEKYgQQ',\n", + " '39ubLATraO7fddNQ0W9lDA',\n", + " '7ozOQFAmwalQkeeolsyjRm',\n", + " '4UlBtmUq5yYHQwudisYKcH',\n", + " '1AUtxUq1VeSpNTCLEmAk5V',\n", + " '4kJ6ZBswtsro4egEc8XRqT',\n", + " '7lJw4d1UWVi6LHSbtZjD6g',\n", + " '3D7GBqWn62bZRiaCM0osf0',\n", + " '42ArmxaBZiLy6uPAJ8sXkE',\n", + " '6MjhFQORsv3ba7Yi9qKZqk',\n", + " '4JaUgpY0IMuSiDo9EOnFmx',\n", + " '2L6A3QegEkaoHK04VzcrgY',\n", + " '6tVhae4ajqrasFjhMGPmH3',\n", + " '1AyR7N6iDbrCwL89hqMtEy',\n", + " '6r8NUPe22HC0KI76tOoyPd',\n", + " '0AvJNwVqnmlfyVlw0z94AA',\n", + " '24JSE3uK1WM3mwjTme2dl0',\n", + " '0tlna2EuZ6v3CyN5AdDjea',\n", + " '7rWazMCZIgeeEknY67tJ1H',\n", + " '1oNBwGteHZ2PZ3qeeVRzd3',\n", + " '5XkotgCaVB72i5cUuqeL1S',\n", + " '3CxvcGZxf7rop7ox90VpPG',\n", + " '1dsPZ3qJr2U0v9OooBzj29',\n", + " '1abgDBPwfkDVxXzAAFeHnj',\n", + " '4dupqyGYtltf15KdU0swl3',\n", + " '7vfhSAZnyYhWXWT5G0xHEV',\n", + " '3JqgY07vRS9NuHwvqdpIjS',\n", + " '6D789vBccQd91iLJWXWFr2',\n", + " '3o2QD5ZGDx06YU0eiUvvgy',\n", + " '2XD6tKbliMW5A30lUWPHv2',\n", + " '1cDcG9zt70e3ZL6m91CugZ',\n", + " '6dIRybQzszSAwLMK7HfOJS',\n", + " '4WaDSO0uAnbOTgl4Bmf8x4',\n", + " '7E9amioDNj4C87qUhaZRSw',\n", + " '4RcEDGAPQFr4ZyczS1SHKv',\n", + " '460gRGQCKIBKhJR1aTt2BG',\n", + " '2iOZznkx9Xav30SNt435we',\n", + " '1qpmIGDAUU5fISHemMYs7O',\n", + " '5xzlpku52DYVr5fcG0ZEDO',\n", + " '4JaDiTGvuripB1a1yLzM4x',\n", + " '5We7qk0MPS9EZkr06Xobie',\n", + " '3TmSqakAjlZS4iDaUNYsvj',\n", + " '1aposnRI7uduQSie0rwNYV',\n", + " '6rCHuZHFksNyiW1D9qpOEV',\n", + " '3q5loUchjOuMx7OLTWovXe',\n", + " '0fRV78gPhCjedpihT3ORzy',\n", + " '7lCmoZrF8oYmCK3J4HYYt5',\n", + " '0BVVKMOiQjYNmtxQSy8lp8',\n", + " '6MmonfcsAE15VsCHqbH7yC',\n", + " '4tdfTNIkY8dOqz8Z1jFtF3',\n", + " '1ycaT41SXBKNH4E2F4YL2X',\n", + " '0cjarVajewjJ8H0vQatyQ3',\n", + " '2fLLAyVlYPYT2bARqIcDyo',\n", + " '2L30xEWyAMM9MpIdW6mFet',\n", + " '1muv6SEDhuS7i9UJRc9dTU',\n", + " '5DFBAxFlUtcRm74Vsp8pTJ',\n", + " '798cwDwPIRKMKk8rFUBBLh',\n", + " '3PaKXXfjgfHub8D2AoeP17',\n", + " '4dBtNFHltcaRm8xQzUwMZJ',\n", + " '0fJgb1IYRO7JS4q0E1J8Wz',\n", + " '4cLzi2wpIimjBHHKlNWZC5',\n", + " '1RluH4CmulumRr34Hm5NN9',\n", + " '2EKwVE88RNJRvzlx0a82sL',\n", + " '7kya5XGygLCmOBGXoy21kb',\n", + " '4XMRt4xFqLzGs4wDKkSSeu',\n", + " '2myjVHHYqsVSKHS3o93hAM',\n", + " '1w8CmiypYAVVZymjndnFD3',\n", + " '7aqpvd6E85MGmHSNQ0SCRZ',\n", + " '2iANTPb9klNNmCj028BpSO',\n", + " '5NTATcezbDapq50Zwxl7Ri',\n", + " '4H9jba3JXej9NeC7MUqehW',\n", + " '3j5WRdUx0G6fY5oZNYtOTw',\n", + " '1X01R4emI2PJHJFHTE3xV6',\n", + " '2vc0lbnT4BJo84zd0IC6GG',\n", + " '6HSNXMMnS2wcdW5WfIk3Cn',\n", + " '1bz8l2rzKO3SUTMN4PaYpA',\n", + " '4ZnP8ErHoWsyAM3JITgwMO',\n", + " '3XLeGkYI3ekR5ByhrNauEN',\n", + " '45rVKu2QkgEBcv503xOq86',\n", + " '7qC3DBWdzcXnv4un34TmJK',\n", + " '4gTXKlFpus8NMsXyxaJolP',\n", + " '0stbf684O3ZZ9KPaPtwURv',\n", + " '6K5iD3HGVagS2275blpcxI',\n", + " '3sgeOYyNSIWjlEXD74a4X2',\n", + " '3tyfI01o7WKPJYYrWMUdGz',\n", + " '1kLAlfXX8kB2LNduNOmiXW',\n", + " '2TNeRqYul5E4s1Uty9LFuw',\n", + " '6ON7D6TYYfCJk3mfDa2LR1',\n", + " '6axmY5SIN4XuJLQqxsW71I',\n", + " '2BzN6FeO2SGVC3CEgsi6tL',\n", + " '747GXAyhEMM90iyLKTg0aI',\n", + " '1vELK1VtJ55aeRdwfIiGqe',\n", + " '0vTXo1DPAsPFYDQJVoHch5',\n", + " '106xt3grWUDSMKtPUYdndl',\n", + " '7jooUObYhidkbz4YVD54Dh',\n", + " '5Nq62ZH4AcjVedGNCjODUD',\n", + " '10jAXHRWObT0Ymqz3TnxLQ',\n", + " '6pHWNguXMF5Gl5P65bFpOE',\n", + " '2MS1wHtjF6kv55OVBvHoZ4',\n", + " '4hCiR18sLNNExb4I3NE0mo',\n", + " '6Z82O2lmNm51cJsVgysLoe',\n", + " '392NkE9nVzxZbYKlpUsNlr',\n", + " '0GJc2vqxruiXvYLBKLjD97',\n", + " '057Mq3fij5LNy6FDajSWwt',\n", + " '07O3GMQRNbPT18a5TVXtEH',\n", + " '4OSYdDgg61zxUZJlAiizhG',\n", + " '0foU3nnylSVkq1xYbg3H6D',\n", + " '1GgnHfXXmRRnpfJ4ZXEskh',\n", + " '77wRn640iIPc3w0FoBRzOn',\n", + " '2ilN7dzYuhkwM2ZBgHWYWD',\n", + " '3RZLAaRLbcUFkdxrvbjDqH',\n", + " '4NYUtW0CR02kM4zoi8f0p1',\n", + " '6TEsq7njHAJzc0Motj2UNU',\n", + " '1EvrsfT492XSS6hKEL80lJ',\n", + " '5Ci2QXiIyDoWbfYoJwQ8Fd',\n", + " '1X27FISPpWiYMkax14g16C',\n", + " '25nEgDYRKDVZeq95Eo5qCH',\n", + " '0smpTuOOk1ltwskufkxSRu',\n", + " '1JdSSATcfq1vKZOemFjETE',\n", + " '0drfnlGRs5oggl4SqQkhMm',\n", + " '4e3KUCUcJcJdWFmIYqWSds',\n", + " '1mMqzFjCy3kwYM8RcMrX6f',\n", + " '6EAMkdU9jbB99d2xfRgY91',\n", + " '1YhkIWryFt3Qp2K8FJEVDH',\n", + " '4RmwwJsfjPNf2dOGj2vQxB',\n", + " '7wj9wikFb8TplAKFBmB7dN',\n", + " '3mx8JloBB532tlDnEgfxZD',\n", + " '2eTiGuzDCOK35KngvjUjk0',\n", + " '3lp7mXImxxkY0dXOFsfHxN',\n", + " '4BQzWO4YaVdQUEMmIFe3YP',\n", + " '0rNwmRh63Vvynwc8OmqrL4',\n", + " '1HNMkQRWsNRfI7L5wiGmvz',\n", + " '5DP6RDNLYrAw3y0XYVsr6p',\n", + " '0LQ1ncPnqLsBawDlLONJBR',\n", + " '5qdxBA0ZfzYqSrD2cmuq3u',\n", + " '7i5XycMenyUKGL1nu9JemA',\n", + " '6nL2eSmOJv4viqx8kQReeP',\n", + " '7yASXUeYHenuzqiVk5nLFB',\n", + " ...]" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ids" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "be512067", + "metadata": {}, + "outputs": [], + "source": [ + "def getTrackFeatures(id):\n", + " meta = sp.track(id)\n", + " features = sp.audio_features(id)\n", + " name = meta['name']\n", + " album = meta['album']['name']\n", + " artist = meta['album']['artists'][0]['name']\n", + " release_date = meta['album']['release_date']\n", + " length = meta['duration_ms']\n", + " popularity = meta['popularity']\n", + " acousticness = features[0]['acousticness']\n", + " danceability = features[0]['danceability']\n", + " energy = features[0]['energy']\n", + " instrumentalness = features[0]['instrumentalness']\n", + " liveness = features[0]['liveness']\n", + " loudness = features[0]['loudness']\n", + " speechiness = features[0]['speechiness']\n", + " tempo = features[0]['tempo']\n", + " time_signature = features[0]['time_signature']\n", + " track = [name, album, artist, release_date, length, popularity, danceability, acousticness, danceability, energy, instrumentalness, liveness, loudness, speechiness, tempo, time_signature]\n", + " return track" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "b613678e", + "metadata": {}, + "outputs": [], + "source": [ + "def get_all_tracks_info(ids):\n", + " all_tracks_info = []\n", + " for i in range(len(ids)):\n", + " time.sleep(.5)\n", + " all_tracks_info.append(getTrackFeatures(ids[i]))\n", + " return all_tracks_info" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "900fb689", + "metadata": {}, + "outputs": [ + { + "ename": "ConnectionError", + "evalue": "('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mConnectionResetError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py\u001b[0m in \u001b[0;36murlopen\u001b[0;34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)\u001b[0m\n\u001b[1;32m 698\u001b[0m \u001b[0;31m# Make the request on the httplib connection object.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 699\u001b[0;31m httplib_response = self._make_request(\n\u001b[0m\u001b[1;32m 700\u001b[0m \u001b[0mconn\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py\u001b[0m in \u001b[0;36m_make_request\u001b[0;34m(self, conn, method, url, timeout, chunked, **httplib_request_kw)\u001b[0m\n\u001b[1;32m 444\u001b[0m \u001b[0;31m# Otherwise it looks like a bug in the code.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 445\u001b[0;31m \u001b[0msix\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mraise_from\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0me\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 446\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mSocketTimeout\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mBaseSSLError\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSocketError\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/urllib3/packages/six.py\u001b[0m in \u001b[0;36mraise_from\u001b[0;34m(value, from_value)\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py\u001b[0m in \u001b[0;36m_make_request\u001b[0;34m(self, conn, method, url, timeout, chunked, **httplib_request_kw)\u001b[0m\n\u001b[1;32m 439\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 440\u001b[0;31m \u001b[0mhttplib_response\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mconn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgetresponse\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 441\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mBaseException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py\u001b[0m in \u001b[0;36mgetresponse\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1344\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1345\u001b[0;31m \u001b[0mresponse\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbegin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1346\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mConnectionError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py\u001b[0m in \u001b[0;36mbegin\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 306\u001b[0m \u001b[0;32mwhile\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 307\u001b[0;31m \u001b[0mversion\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstatus\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreason\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_read_status\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 308\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mstatus\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0mCONTINUE\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py\u001b[0m in \u001b[0;36m_read_status\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 267\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_read_status\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 268\u001b[0;31m \u001b[0mline\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreadline\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_MAXLINE\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"iso-8859-1\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 269\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mline\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0m_MAXLINE\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socket.py\u001b[0m in \u001b[0;36mreadinto\u001b[0;34m(self, b)\u001b[0m\n\u001b[1;32m 703\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 704\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_sock\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrecv_into\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 705\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py\u001b[0m in \u001b[0;36mrecv_into\u001b[0;34m(self, buffer, nbytes, flags)\u001b[0m\n\u001b[1;32m 1240\u001b[0m self.__class__)\n\u001b[0;32m-> 1241\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnbytes\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbuffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1242\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py\u001b[0m in \u001b[0;36mread\u001b[0;34m(self, len, buffer)\u001b[0m\n\u001b[1;32m 1098\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mbuffer\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1099\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_sslobj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbuffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1100\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mConnectionResetError\u001b[0m: [Errno 54] Connection reset by peer", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[0;31mProtocolError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/requests/adapters.py\u001b[0m in \u001b[0;36msend\u001b[0;34m(self, request, stream, timeout, verify, cert, proxies)\u001b[0m\n\u001b[1;32m 438\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mchunked\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 439\u001b[0;31m resp = conn.urlopen(\n\u001b[0m\u001b[1;32m 440\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mrequest\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmethod\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py\u001b[0m in \u001b[0;36murlopen\u001b[0;34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)\u001b[0m\n\u001b[1;32m 754\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 755\u001b[0;31m retries = retries.increment(\n\u001b[0m\u001b[1;32m 756\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0murl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merror\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0me\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_pool\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_stacktrace\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexc_info\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/urllib3/util/retry.py\u001b[0m in \u001b[0;36mincrement\u001b[0;34m(self, method, url, response, error, _pool, _stacktrace)\u001b[0m\n\u001b[1;32m 531\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mread\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mFalse\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_is_method_retryable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmethod\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 532\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0msix\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreraise\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0merror\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merror\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_stacktrace\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 533\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mread\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/urllib3/packages/six.py\u001b[0m in \u001b[0;36mreraise\u001b[0;34m(tp, value, tb)\u001b[0m\n\u001b[1;32m 768\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__traceback__\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mtb\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 769\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwith_traceback\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 770\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py\u001b[0m in \u001b[0;36murlopen\u001b[0;34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)\u001b[0m\n\u001b[1;32m 698\u001b[0m \u001b[0;31m# Make the request on the httplib connection object.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 699\u001b[0;31m httplib_response = self._make_request(\n\u001b[0m\u001b[1;32m 700\u001b[0m \u001b[0mconn\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py\u001b[0m in \u001b[0;36m_make_request\u001b[0;34m(self, conn, method, url, timeout, chunked, **httplib_request_kw)\u001b[0m\n\u001b[1;32m 444\u001b[0m \u001b[0;31m# Otherwise it looks like a bug in the code.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 445\u001b[0;31m \u001b[0msix\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mraise_from\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0me\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 446\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mSocketTimeout\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mBaseSSLError\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSocketError\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/urllib3/packages/six.py\u001b[0m in \u001b[0;36mraise_from\u001b[0;34m(value, from_value)\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py\u001b[0m in \u001b[0;36m_make_request\u001b[0;34m(self, conn, method, url, timeout, chunked, **httplib_request_kw)\u001b[0m\n\u001b[1;32m 439\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 440\u001b[0;31m \u001b[0mhttplib_response\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mconn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgetresponse\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 441\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mBaseException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py\u001b[0m in \u001b[0;36mgetresponse\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1344\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1345\u001b[0;31m \u001b[0mresponse\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbegin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1346\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mConnectionError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py\u001b[0m in \u001b[0;36mbegin\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 306\u001b[0m \u001b[0;32mwhile\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 307\u001b[0;31m \u001b[0mversion\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstatus\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreason\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_read_status\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 308\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mstatus\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0mCONTINUE\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py\u001b[0m in \u001b[0;36m_read_status\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 267\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_read_status\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 268\u001b[0;31m \u001b[0mline\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreadline\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_MAXLINE\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"iso-8859-1\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 269\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mline\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0m_MAXLINE\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socket.py\u001b[0m in \u001b[0;36mreadinto\u001b[0;34m(self, b)\u001b[0m\n\u001b[1;32m 703\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 704\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_sock\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrecv_into\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 705\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py\u001b[0m in \u001b[0;36mrecv_into\u001b[0;34m(self, buffer, nbytes, flags)\u001b[0m\n\u001b[1;32m 1240\u001b[0m self.__class__)\n\u001b[0;32m-> 1241\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnbytes\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbuffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1242\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py\u001b[0m in \u001b[0;36mread\u001b[0;34m(self, len, buffer)\u001b[0m\n\u001b[1;32m 1098\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mbuffer\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1099\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_sslobj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbuffer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1100\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mProtocolError\u001b[0m: ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[0;31mConnectionError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/var/folders/qh/xt8909vd6h9b259kcypqhnd80000gn/T/ipykernel_11296/1169495709.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mall_tracks_info\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_all_tracks_info\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mids\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m/var/folders/qh/xt8909vd6h9b259kcypqhnd80000gn/T/ipykernel_11296/200859163.py\u001b[0m in \u001b[0;36mget_all_tracks_info\u001b[0;34m(ids)\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mids\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m.5\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mall_tracks_info\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgetTrackFeatures\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mids\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mall_tracks_info\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/var/folders/qh/xt8909vd6h9b259kcypqhnd80000gn/T/ipykernel_11296/1144326990.py\u001b[0m in \u001b[0;36mgetTrackFeatures\u001b[0;34m(id)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mgetTrackFeatures\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mid\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mmeta\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtrack\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mid\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mfeatures\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0maudio_features\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mid\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mname\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmeta\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'name'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0malbum\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmeta\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'album'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'name'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/spotipy/client.py\u001b[0m in \u001b[0;36mtrack\u001b[0;34m(self, track_id, market)\u001b[0m\n\u001b[1;32m 343\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 344\u001b[0m \u001b[0mtrid\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_id\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"track\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtrack_id\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 345\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"tracks/\"\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mtrid\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmarket\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmarket\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 346\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 347\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mtracks\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtracks\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmarket\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/spotipy/client.py\u001b[0m in \u001b[0;36m_get\u001b[0;34m(self, url, args, payload, **kwargs)\u001b[0m\n\u001b[1;32m 295\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 296\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 297\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_internal_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"GET\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0murl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpayload\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 298\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 299\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_post\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0murl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpayload\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/spotipy/client.py\u001b[0m in \u001b[0;36m_internal_call\u001b[0;34m(self, method, url, payload, params)\u001b[0m\n\u001b[1;32m 238\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 239\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 240\u001b[0;31m response = self._session.request(\n\u001b[0m\u001b[1;32m 241\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0murl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mheaders\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mheaders\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mproxies\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mproxies\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 242\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrequests_timeout\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/requests/sessions.py\u001b[0m in \u001b[0;36mrequest\u001b[0;34m(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)\u001b[0m\n\u001b[1;32m 540\u001b[0m }\n\u001b[1;32m 541\u001b[0m \u001b[0msend_kwargs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msettings\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 542\u001b[0;31m \u001b[0mresp\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mprep\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0msend_kwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 543\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 544\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mresp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/requests/sessions.py\u001b[0m in \u001b[0;36msend\u001b[0;34m(self, request, **kwargs)\u001b[0m\n\u001b[1;32m 653\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 654\u001b[0m \u001b[0;31m# Send the request\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 655\u001b[0;31m \u001b[0mr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0madapter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrequest\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 656\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 657\u001b[0m \u001b[0;31m# Total elapsed time of the request (approximately)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.9/site-packages/requests/adapters.py\u001b[0m in \u001b[0;36msend\u001b[0;34m(self, request, stream, timeout, verify, cert, proxies)\u001b[0m\n\u001b[1;32m 496\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 497\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mProtocolError\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msocket\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0merror\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 498\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mConnectionError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0merr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrequest\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mrequest\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 499\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 500\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mMaxRetryError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mConnectionError\u001b[0m: ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))" + ] + } + ], + "source": [ + "all_tracks_info = get_all_tracks_info(ids)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e799659b", + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.DataFrame(all_tracks_info, columns = ['name', 'album', 'artist', 'release_date', 'length', 'popularity', 'danceability', 'acousticness', 'danceability', 'energy', 'instrumentalness', 'liveness', 'loudness', 'speechiness', 'tempo', 'time_signature'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2bc2cee9", + "metadata": {}, + "outputs": [], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "995816e6", + "metadata": {}, + "outputs": [], + "source": [ + "df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b3a16d5b", + "metadata": {}, + "outputs": [], + "source": [ + "# i am pretty sure it works (after many re-try's and mini edits),\n", + "# BUT i am not entirely sure as its taking AGESSSSSSS" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.5" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}