import json import urllib from urllib import request from urllib import parse def Payload(start_date, end_date, pnode_list): payload = {"startDate": start_date, "endDate": end_date, "pnodelist": pnode_list} return json.dumps(payload) def DownloadData(url, payload, header): data = [] request = urllib.request.Request(url, payload, header) try: response = urllib.request.urlopen(request) except urllib.error.URLError as e: print("URLError occured.") except urllib.error.HTTPError as e: print("HTTPError occured.") else: #response.chunked = False data = json.loads(response.read().decode("utf-8")) return data def main(): url = "https://dataminer.pjm.com/dataminer/rest/public/api/markets/dayahead/lmp/daily" payload = Payload("2015-07-01", "2015-07-01", [135389795]) header = {"Content-Type": "application/json"} data = DownloadData(url, payload.encode("utf-8"), header) print(data) if __name__ == "__main__": main()