Bottom Page

Thread Rating:
  • 2 Vote(s) - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 Reading json from webpage
For starters I'm just trying to learn how to pull some json data off a siriusxm page. (( Here's a link, but the time stamped page doesn't last very long. siriusxm page

My code looks like it grabs all the data fine, but I need assistance on how to pull specific data from the json.
import urllib3
import json

http = urllib3.PoolManager()

r = http.request('GET', '')

for example, the json.loads('utf-8'))['channelMetadataResponse'] has the data just fine, but changing the syntax to
json.loads('utf-8'))['artists':'name'] gives a slicing error.

Direction would be grateful. Thank you so much!

In case the link dies or is blank. here is a sample from their page. you may need copy paste into to read it better.

{"channelMetadataResponse":{"messages":{"code":100,"message":"Successful request"},"status":1,"metaData":{"channelId":"firstwave","channelName":"1st Wave","channelNumber":33,"currentEvent":{"artists":{"id":"8_l","name":"Talking Heads"},"baseUrl":"http:\/\/\/albumart\/","keyIndex":"null","siriusXMId":568746322,"song":{"album":{"name":"Little Creatures"},"composer":"","creativeArts":[{"encrypted":false,"size":"THUMBNAIL","type":"IMAGE","url":"1730\/NDCA-000017418-003_t.jpg"},{"encrypted":false,"size":"SMALL","type":"IMAGE","url":"1730\/NDCA-000017418-003_s.jpg"},{"encrypted":false,"size":"MEDIUM","type":"IMAGE","url":"1730\/NDCA-000017418-003_m.jpg"},{"encrypted":false,"size":"LARGE","type":"IMAGE","url":""},{"encrypted":false,"type":"BIO","url":""},{"encrypted":false,"type":"REVIEWS","url":""},{"encrypted":true,"size":"THUMBNAIL","type":"IMAGE","url":"1730\/NDCA-000017418-003_t.jpg"},{"encrypted":true,"size":"SMALL","type":"IMAGE","url":"1730\/NDCA-000017418-003_s.jpg"},{"encrypted":true,"size":"MEDIUM","type":"IMAGE","url":"1730\/NDCA-000017418-003_m.jpg"},{"encrypted":true,"size":"LARGE","type":"IMAGE","url":""},{"encrypted":true,"type":"BIO","url":""},{"encrypted":true,"type":"REVIEWS","url":""}],"id":"$O4GA","name":"Stay Up Late"},"startTime":"2019-01-10T17:46:51Z"},"dateTime":"2019-01-10T17:49:52.311Z","version":1.1}}}
I believe the problem is your slice. To my knowledge, you cannot do ["artists":"name"]. That should be a dict retrieval key of ["artists"] to return the sub-dict or list contained in "artists".

That said, what is the error you're receiving.
jmair likes this post
The error is
TypeError: unhashable type: 'slice'

So you're spot on =)
data = json.loads('utf-8'))
artist_name = data['channelMetadataResponse']['currentEvent']['artist']['name']
by the way, look at requests - you can directly get response as json
jmair and stullis like this post
Perfect, now I see how to call it. I appreciate the hint.

artist_name = data['channelMetadataResponse']['metaData']['currentEvent']['artists']['name']

Top Page

Possibly Related Threads...
Thread Author Replies Views Last Post
  Reading json behind a login page ebolisa 3 248 May-26-2019, 05:15 PM
Last Post: heiner55
  Reading JSON - error jmair 2 104 May-22-2019, 07:25 PM
Last Post: jmair
  Reading a Regex stahorse 4 160 May-16-2019, 02:09 PM
Last Post: snippsat
  [Idea Required] How can i track any change on a webpage? Prince_Bhatia 1 114 Apr-24-2019, 11:21 AM
Last Post: metulburr
  Reading and manipulating csv Prince_Bhatia 11 440 Mar-14-2019, 11:40 AM
Last Post: Larz60+
  reading a line of a CSV Skaperen 2 233 Feb-10-2019, 08:10 PM
Last Post: Skaperen
  [split] Reading json from webpage rajesh1997 1 163 Feb-05-2019, 12:07 PM
Last Post: buran
  Download data from webpage after POST request AlDe 0 179 Feb-02-2019, 06:26 AM
Last Post: AlDe
  reading from 2 pipes Skaperen 2 428 Oct-05-2018, 04:45 AM
Last Post: Skaperen
  reading csv and writing csv chawas 2 431 Aug-23-2018, 09:28 AM
Last Post: chawas

Forum Jump:

Users browsing this thread: 1 Guest(s)