From cf45b88823ae89e8737b66ef49f1aaa4c2facd39 Mon Sep 17 00:00:00 2001 From: Shaun Setlock Date: Sun, 3 Apr 2022 16:24:05 -0400 Subject: [PATCH] Beginning to build the great schools API wrapper. --- data/greatschools/raw/pg01.html | 415 ------------------------------- data/greatschools/raw/pg02.html | 416 -------------------------------- data/greatschools/raw/pg03.html | 416 -------------------------------- data/greatschools/raw/pg04.html | 416 -------------------------------- data/greatschools/raw/pg05.html | 416 -------------------------------- data/greatschools/raw/pg06.html | 416 -------------------------------- data/greatschools/raw/pg07.html | 416 -------------------------------- data/greatschools/raw/pg08.html | 416 -------------------------------- data/greatschools/raw/pg09.html | 416 -------------------------------- data/greatschools/raw/pg10.html | 416 -------------------------------- data/greatschools/raw/pg11.html | 416 -------------------------------- data/greatschools/raw/pg12.html | 416 -------------------------------- main/great_schools.py | 21 ++ main/run.py | 21 ++ requirements.txt | 5 + 15 files changed, 47 insertions(+), 4991 deletions(-) delete mode 100644 data/greatschools/raw/pg01.html delete mode 100644 data/greatschools/raw/pg02.html delete mode 100644 data/greatschools/raw/pg03.html delete mode 100644 data/greatschools/raw/pg04.html delete mode 100644 data/greatschools/raw/pg05.html delete mode 100644 data/greatschools/raw/pg06.html delete mode 100644 data/greatschools/raw/pg07.html delete mode 100644 data/greatschools/raw/pg08.html delete mode 100644 data/greatschools/raw/pg09.html delete mode 100644 data/greatschools/raw/pg10.html delete mode 100644 data/greatschools/raw/pg11.html delete mode 100644 data/greatschools/raw/pg12.html create mode 100644 main/great_schools.py create mode 100644 main/run.py create mode 100644 requirements.txt diff --git a/data/greatschools/raw/pg01.html b/data/greatschools/raw/pg01.html deleted file mode 100644 index 94bf3d3..0000000 --- a/data/greatschools/raw/pg01.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - - - - - Public Middle Schools near 45 Hartwell Ave, Lexington, MA 02421 | GreatSchools - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - -
- -
- - - -
- -
- - - -
-
-
-
- - - - - - Top - - - - -
- - - - - - - - - - - - diff --git a/data/greatschools/raw/pg02.html b/data/greatschools/raw/pg02.html deleted file mode 100644 index cb5d885..0000000 --- a/data/greatschools/raw/pg02.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - - - - Public Middle Schools near 45 Hartwell Ave, Lexington, MA 02421 | GreatSchools - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - -
- -
- - - -
- -
- - - -
-
-
-
- - - - - - Top - - - - -
- - - - - - - - - - - - diff --git a/data/greatschools/raw/pg03.html b/data/greatschools/raw/pg03.html deleted file mode 100644 index a0a56a1..0000000 --- a/data/greatschools/raw/pg03.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - - - - Public Middle Schools near 45 Hartwell Ave, Lexington, MA 02421 | GreatSchools - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - -
- -
- - - -
- -
- - - -
-
-
-
- - - - - - Top - - - - -
- - - - - - - - - - - - diff --git a/data/greatschools/raw/pg04.html b/data/greatschools/raw/pg04.html deleted file mode 100644 index 9e428a2..0000000 --- a/data/greatschools/raw/pg04.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - - - - Public Middle Schools near 45 Hartwell Ave, Lexington, MA 02421 | GreatSchools - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - -
- -
- - - -
- -
- - - -
-
-
-
- - - - - - Top - - - - -
- - - - - - - - - - - - diff --git a/data/greatschools/raw/pg05.html b/data/greatschools/raw/pg05.html deleted file mode 100644 index 7cbba9d..0000000 --- a/data/greatschools/raw/pg05.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - - - - Public Middle Schools near 45 Hartwell Ave, Lexington, MA 02421 | GreatSchools - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - -
- -
- - - -
- -
- - - -
-
-
-
- - - - - - Top - - - - -
- - - - - - - - - - - - diff --git a/data/greatschools/raw/pg06.html b/data/greatschools/raw/pg06.html deleted file mode 100644 index 0fe6dee..0000000 --- a/data/greatschools/raw/pg06.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - - - - Public Middle Schools near 45 Hartwell Ave, Lexington, MA 02421 | GreatSchools - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - -
- -
- - - -
- -
- - - -
-
-
-
- - - - - - Top - - - - -
- - - - - - - - - - - - diff --git a/data/greatschools/raw/pg07.html b/data/greatschools/raw/pg07.html deleted file mode 100644 index 6551f09..0000000 --- a/data/greatschools/raw/pg07.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - - - - Public Middle Schools near 45 Hartwell Ave, Lexington, MA 02421 | GreatSchools - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - -
- -
- - - -
- -
- - - -
-
-
-
- - - - - - Top - - - - -
- - - - - - - - - - - - diff --git a/data/greatschools/raw/pg08.html b/data/greatschools/raw/pg08.html deleted file mode 100644 index 661936b..0000000 --- a/data/greatschools/raw/pg08.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - - - - Public Middle Schools near 45 Hartwell Ave, Lexington, MA 02421 | GreatSchools - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - -
- -
- - - -
- -
- - - -
-
-
-
- - - - - - Top - - - - -
- - - - - - - - - - - - diff --git a/data/greatschools/raw/pg09.html b/data/greatschools/raw/pg09.html deleted file mode 100644 index 52f4236..0000000 --- a/data/greatschools/raw/pg09.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - - - - Public Middle Schools near 45 Hartwell Ave, Lexington, MA 02421 | GreatSchools - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - -
- -
- - - -
- -
- - - -
-
-
-
- - - - - - Top - - - - -
- - - - - - - - - - - - diff --git a/data/greatschools/raw/pg10.html b/data/greatschools/raw/pg10.html deleted file mode 100644 index b523744..0000000 --- a/data/greatschools/raw/pg10.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - - - - Public Middle Schools near 45 Hartwell Ave, Lexington, MA 02421 | GreatSchools - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - -
- -
- - - -
- -
- - - -
-
-
-
- - - - - - Top - - - - -
- - - - - - - - - - - - diff --git a/data/greatschools/raw/pg11.html b/data/greatschools/raw/pg11.html deleted file mode 100644 index 3e5e4b6..0000000 --- a/data/greatschools/raw/pg11.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - - - - Public Middle Schools near 45 Hartwell Ave, Lexington, MA 02421 | GreatSchools - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - -
- -
- - - -
- -
- - - -
-
-
-
- - - - - - Top - - - - -
- - - - - - - - - - - - diff --git a/data/greatschools/raw/pg12.html b/data/greatschools/raw/pg12.html deleted file mode 100644 index aa797b1..0000000 --- a/data/greatschools/raw/pg12.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - - - - Public Middle Schools near 45 Hartwell Ave, Lexington, MA 02421 | GreatSchools - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - -
- -
- - - -
- -
- - - -
-
-
-
- - - - - - Top - - - - -
- - - - - - - - - - - - diff --git a/main/great_schools.py b/main/great_schools.py new file mode 100644 index 0000000..0553187 --- /dev/null +++ b/main/great_schools.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python3 +import requests + +# Helper file to facilitate calls to the greatschools.org API + +# Endpoint: nearby-schools +def get_nearby_schools(key: str): + url = 'https://gs-api.greatschools.org/nearby-schools' + params = { + 'lat': "42.3", + 'lon': "-71.2", + 'school_type': "public", + 'distance': "50", + 'page': "45" + } + headers = { + "x-api-key": key + } + r = requests.get(url=url, params=params, headers=headers) + print(r.text) + return \ No newline at end of file diff --git a/main/run.py b/main/run.py new file mode 100644 index 0000000..0c16946 --- /dev/null +++ b/main/run.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python3 + +from great_schools import get_nearby_schools + +def get_file_contents(filename): + """ Given a filename, + return the contents of that file + """ + try: + with open(filename, 'r') as f: + # It's assumed our file contains a single line, + # with our API key + return f.read().strip() + except FileNotFoundError: + print("'%s' file not found" % filename) + +api_key_file = '../keys/api.key' +api_key = get_file_contents(api_key_file) + + +get_nearby_schools(api_key) \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..b521b7b --- /dev/null +++ b/requirements.txt @@ -0,0 +1,5 @@ +certifi==2021.10.8 +charset-normalizer==2.0.12 +idna==3.3 +requests==2.27.1 +urllib3==1.26.9