krina-webscraping / geolocation.py
kshipra-jadav
initial commit
6b8d8ab
raw
history blame contribute delete
836 Bytes
import os
import requests
from collections import namedtuple
from urllib.parse import urlencode, urlunparse
from dotenv import load_dotenv
load_dotenv()
BASE_URL = "api.openweathermap.org/geo/1.0/direct"
Components = namedtuple(
typename='Components',
field_names=['scheme', 'netloc', 'url', 'path', 'query', 'fragment']
)
def getcoords(CITY):
print(f"CITY - {CITY}")
query_params = {
"q": CITY,
"limit": 1,
"appid": os.getenv("OPENWEATHER_KEY")
}
url = urlunparse(
Components(scheme="http",
netloc=BASE_URL,
query=urlencode(query_params),
path="",
url="",
fragment="")
)
response = requests.get(url)
data = response.json()[0]
return data["lat"], data["lon"]