In [1]:
import requests

In [8]:
response = requests.get('https://api.spotify.com/v1/search?query=80s&type=playlist')

In [9]:
data = response.json()

In [10]:
type(data)


Out[10]:
dict

In [11]:
data.keys()


Out[11]:
dict_keys(['playlists'])

In [16]:
playlist_response = requests.get('https://api.spotify.com/v1/search?query=80s&type=playlist')
playlist_data = playlist_response.json()
biggie_response = requests.get('https://api.spotify.com/v1/search?query=biggie&type=artist')
biggie_data = biggie_response.json()

In [ ]:


In [17]:
biggie_artists = data['artists']['items']


---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-17-259f0b2882e8> in <module>()
----> 1 biggie_artists = data['artists']['items']

KeyError: 'artists'

In [14]:
for artist in biggie_artists:
    print(artist['name'], artist['popularity'], artist['id'])


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-14-c0b744a97c68> in <module>()
----> 1 for artist in biggie_artists:
      2     print(artist['name'], artist['popularity'])

NameError: name 'biggie_artists' is not defined

In [19]:
response = requests.get('https://api.spotify.com/v1/artists/{id}/albums')
data = response.json()

In [20]:
tracks = data['tracks']


---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-20-2d90a8ead806> in <module>()
----> 1 tracks = data['tracks']

KeyError: 'tracks'

In [21]:
for track in tracks:
    print(track['name'])


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-21-4c212539a578> in <module>()
----> 1 for track in tracks:
      2     print(track['name'])

NameError: name 'tracks' is not defined

In [22]:
#How explicit is Biggie the Kid?
response = requests.get("....")
data = response.json()
tracks = data['tracks']
#Counting problem - 
#PART ONE: initial condition (our start value)
explicit_count = 0 #IDK of any explicit tracks
track_count = 0 #IDK of any tracks
for track in tracks:
    print(track['name'], track['explicit'])
    #Make track_count one bigger every time through the loop
    track_count = track_count + 1
    if track['explicit']:
        explicit_count = explicit_count + 1
    print("I have found", track_count, "tracks")
print("Overall, I discovered", track_count, "tracks")
print("And", explicit_count, "were explicit")


---------------------------------------------------------------------------
MissingSchema                             Traceback (most recent call last)
<ipython-input-22-e246c6ab6999> in <module>()
      1 #How explicit is Biggie the Kid?
----> 2 response = requests.get("....")
      3 data = response.json()
      4 tracks = data['tracks']
      5 #Counting problem -

/cygdrive/c/Users/Kate/.virtualenvs/apis/lib/python3.4/site-packages/requests/api.py in get(url, params, **kwargs)
     69 
     70     kwargs.setdefault('allow_redirects', True)
---> 71     return request('get', url, params=params, **kwargs)
     72 
     73 

/cygdrive/c/Users/Kate/.virtualenvs/apis/lib/python3.4/site-packages/requests/api.py in request(method, url, **kwargs)
     55     # cases, and look like a memory leak in others.
     56     with sessions.Session() as session:
---> 57         return session.request(method=method, url=url, **kwargs)
     58 
     59 

/cygdrive/c/Users/Kate/.virtualenvs/apis/lib/python3.4/site-packages/requests/sessions.py in request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)
    459             hooks = hooks,
    460         )
--> 461         prep = self.prepare_request(req)
    462 
    463         proxies = proxies or {}

/cygdrive/c/Users/Kate/.virtualenvs/apis/lib/python3.4/site-packages/requests/sessions.py in prepare_request(self, request)
    392             auth=merge_setting(auth, self.auth),
    393             cookies=merged_cookies,
--> 394             hooks=merge_hooks(request.hooks, self.hooks),
    395         )
    396         return p

/cygdrive/c/Users/Kate/.virtualenvs/apis/lib/python3.4/site-packages/requests/models.py in prepare(self, method, url, headers, files, data, params, auth, cookies, hooks, json)
    293 
    294         self.prepare_method(method)
--> 295         self.prepare_url(url, params)
    296         self.prepare_headers(headers)
    297         self.prepare_cookies(cookies)

/cygdrive/c/Users/Kate/.virtualenvs/apis/lib/python3.4/site-packages/requests/models.py in prepare_url(self, url, params)
    353             error = error.format(to_native_string(url, 'utf8'))
    354 
--> 355             raise MissingSchema(error)
    356 
    357         if not host:

MissingSchema: Invalid URL '....': No schema supplied. Perhaps you meant http://....?

In [ ]:
#How explicit is the Notorious B.I.G.?
response = requests.get("https:api.spotify.com")
data = response.json()
tracks = data['tracks']
#Counting problem - 
#PART ONE: initial condition (our start value)
explicit_count = 0 #IDK of any explicit tracks
track_count = 0 #IDK of any tracks
for track in tracks:
    print(track['name'], track['explicit'])
    #Make track_count one bigger every time through the loop
    track_count = track_count + 1
    if track['explicit']:
        explicit_count = explicit_count + 1
    print("I have found", track_count, "tracks")
print("Overall, I discovered", track_count, "tracks")
print("And", explicit_count, "were explicit")