Accessing Json data (I think I am nearly there) complete beginner
MRAB
python at mrabarnett.plus.com
Thu May 23 12:53:23 EDT 2013
On 23/05/2013 17:09, Andrew Edwards-Adams wrote:
> Hey guys
> I think its worth stating that I have been trying to code for 1 week.
> I am trying to access some Json data. My innitial code was the below:
>
> "import mechanize
> import urllib
> import re
>
> def getData():
> post_url = "http://www.tweetnaps.co.uk/leaderboards/leaderboard_json/all_time"
> browser = mechanize.Browser()
> browser.set_handle_robots(False)
> browser.addheaders = [('User-agent', 'Firefox')]
>
> #These are the parameters you've got from checking with the aforementioned tools
> parameters = {'page' : '1',
> 'rp' : '10',
> 'sortname' : 'total_pl',
> 'sortorder' : 'desc'}
> #Encode the parameters
> data = urllib.urlencode(parameters)
> trans_array = browser.open(post_url,data).read().decode('UTF-8')
>
> #print trans_array
>
> myfile = open("test.txt", "w")
> myfile.write(trans_array)
> myfile.close()
>
> getData()
>
> raw_input("Complete")"
>
> I was recommended to use the following code to access the Json data directly, however I cannot get it to return anything. I think the guy that recommended me this method must have got something wrong? Or perhaps I am simply incompetent:
>
> import mechanize
> import urllib
> import json
> def getData():
> post_url = "http://www.tweetnaps.co.uk/leaderboards/leaderboard_json/current_week"
> browser = mechanize.Browser()
> browser.set_handle_robots(False)
> browser.addheaders = [('User-agent', 'Firefox')]
>
> #These are the parameters you've got from checking with the aforementioned tools
> parameters = {'page' : '1',
> 'rp' : '50',
> 'sortname' : 'total_pl',
> 'sortorder' : 'desc'
> }
> #Encode the parameters
> data = urllib.urlencode(parameters)
> trans_array = browser.open(post_url,data).read().decode('UTF-8')
>
> text1 = json.loads(trans_array)
> print text1['rows'][0]['id'] #play around with these values to access different data..
>
> getData()
>
> He told me to "#play around with these values to access different data.." really cant get anything out of this, any ideas?
>
> Many thanks AEA
>
I've just tried it. It prints "1048".
More information about the Python-list
mailing list