mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-03-19 21:19:47 +00:00
Added feature to web_programming/nasa_data.py
: Can download the APOD image to a specified location on disk. (#5551)
* Added a feature to download images. * Minor changes * Update nasa_data.py * : Co-authored-by: Christian Clauss <cclauss@me.com>
This commit is contained in:
parent
27f2465135
commit
b64fd56776
@ -1,27 +1,38 @@
|
||||
import shutil
|
||||
|
||||
import requests
|
||||
|
||||
|
||||
def get_apod_data(api_key: str) -> dict:
|
||||
def get_apod_data(api_key: str, download: bool = False, path: str = ".") -> dict:
|
||||
"""
|
||||
Get the APOD(Astronomical Picture of the day) data
|
||||
Get the API Key from : https://api.nasa.gov/
|
||||
Get your API Key from: https://api.nasa.gov/
|
||||
"""
|
||||
url = "https://api.nasa.gov/planetary/apod/"
|
||||
url = "https://api.nasa.gov/planetary/apod"
|
||||
return requests.get(url, params={"api_key": api_key}).json()
|
||||
|
||||
|
||||
def save_apod(api_key: str, path: str = ".") -> dict:
|
||||
apod_data = get_apod_data(api_key)
|
||||
img_url = apod_data["url"]
|
||||
img_name = img_url.split("/")[-1]
|
||||
response = requests.get(img_url, stream=True)
|
||||
|
||||
with open(f"{path}/{img_name}", "wb+") as img_file:
|
||||
shutil.copyfileobj(response.raw, img_file)
|
||||
del response
|
||||
return apod_data
|
||||
|
||||
|
||||
def get_archive_data(query: str) -> dict:
|
||||
"""
|
||||
Get the data of a particular query from NASA archives
|
||||
"""
|
||||
endpoint = "https://images-api.nasa.gov/search"
|
||||
return requests.get(endpoint, params={"q": query}).json()
|
||||
url = "https://images-api.nasa.gov/search"
|
||||
return requests.get(url, params={"q": query}).json()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print(get_apod_data("YOUR API KEY"))
|
||||
print(
|
||||
get_archive_data("apollo 2011")["collection"]["items"][0]["data"][0][
|
||||
"description"
|
||||
]
|
||||
)
|
||||
print(save_apod("YOUR API KEY"))
|
||||
apollo_2011_items = get_archive_data("apollo 2011")["collection"]["items"]
|
||||
print(apollo_2011_items[0]["data"][0]["description"])
|
||||
|
Loading…
x
Reference in New Issue
Block a user