On 09/13/2013 08:24 AM, Peter Otten wrote: > Anthony Papillion wrote: > >> And I get a traceback that says: No JSON object could be decoded. The >> specific traceback is: >> >> Traceback (most recent call last): >> File "coinbase_bot.py", line 31, in <module> >> getCurrentBitcoinPrice() >> File "coinbase_bot.py", line 28, in getCurrentBitcoinPrice >> returnedString = json.loads(BASE_API_URL + '/prices/buy') >> File "/usr/lib/python2.7/json/__init__.py", line 326, in loads >> return _default_decoder.decode(s) >> File "/usr/lib/python2.7/json/decoder.py", line 366, in decode >> obj, end = self.raw_decode(s, idx=_w(s, 0).end()) >> File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode >> raise ValueError("No JSON object could be decoded") >> ValueError: No JSON object could be decoded > > So json.loads() expects its first argument to b valid json, no a URL. > You have to retrieve the data using other means before you can deserialize > it: > > data = urllib2.urlopen(...).read() > returned_json = json.loads(data) > > Replacing ... with something that works is left as an exercise. (It seems > that you have to use a Request object rather than a URL, and that the > default "Python-urllib/2.7" is not an acceptable user agent.
Thank you Peter! That was all I needed. So here's the code I came up with that seems to work: req = urllib2.Request(BASE_URL + '/prices/buy') req.add_unredirected_header('User-Agent', USER_AGENT) resp = urllib2.urlopen(req).read() data - json.loads(resp) return data['amount'] Thank you for the help! Anthony -- Anthony Papillion XMPP/Jabber: cypherp...@patts.us OTR Fingerprint: 4F5CE6C07F5DCE4A2569B72606E5C00A21DA24FA SIP: 17772471...@callcentric.com PGP Key: 0xE1608145 -- https://mail.python.org/mailman/listinfo/python-list