37

Исторические данные от NASA

Я ранее писал статью А вы знали что у NASA есть API?


В ней я описал как реализовал автоматическое наполнение телеграм канала https://t.me/daily_nasa "астрономической картинкой дня от NASA" с описанием на русском а также со ссылкой на загрузку картинки в HD, позже я реализовал добавление в этот канал статей на тему астрономии из http://hubblesite.org/ и тоже на русском, все круто но меня парило то, что каналу моему меньше года, а NASA публикует данные уже очень много лет, по этому я решил взяться в реализацию отображения исторических данных за выбранный период в телеграм, как? смотрите ниже.


Идея была такой, есть телеграм бот, после нажатия старт в нем отображается красивый календарь, где можно выбрать год, месяц, и день, после выбора мы получаем за этот день картинку / видео и описание (APOD в общем)


Сейчас это выглядит так:

Поклацать можете тут - https://t.me/DailyNasaCalendarbot


Реализовал все опять же таки на Python, так вот:


Те кто читал мои статьи ранее знают, что я не такой уж и фанат "изобретать велосипеды" (разве что иногда) по этому я подумал что писать красивый календарь самому будет долговато, выход? я решил поискать его на GitHub, и я нашел - https://github.com/artembakhanov/python-telegram-bot-calenda...


Отличная библиотека, которая ставится одной командой:

python3 -m pip install python-telegram-bot-calendar

Вопрос, как прикрутить это к NASA API ?


1 - Заходим в примеры (examples) и смотрим скрипт simple_pytelegrambotapi.py

Исторические данные от NASA Космос, Apod, NASA, Астрономия, Телескоп Хаббл, Наука, Python, API, Telegram, Разработка, Программирование, IT, Научпоп, Планета, Telegram бот, Видео, Без звука, Вертикальное видео, Длиннопост

Тут есть блок:

Исторические данные от NASA Космос, Apod, NASA, Астрономия, Телескоп Хаббл, Наука, Python, API, Telegram, Разработка, Программирование, IT, Научпоп, Планета, Telegram бот, Видео, Без звука, Вертикальное видео, Длиннопост

В result в конечном счете приходит год, месяц и день который вы выбрали на календаре, в примерно таком формате 2022-03-04


и это отлично, ибо все что нам остается, это записать этот result в запрос к NASA API, а именно:

Исторические данные от NASA Космос, Apod, NASA, Астрономия, Телескоп Хаббл, Наука, Python, API, Telegram, Разработка, Программирование, IT, Научпоп, Планета, Telegram бот, Видео, Без звука, Вертикальное видео, Длиннопост

В итоге остается только распарсить data, сформировать сообщение и отправить в телеграм, чуть более подробней про это тут:

А вы знали что у NASA есть API?

Продолжение поста «А вы знали что у NASA есть API?»

Особенности API от NASA


Ссылка на бот - https://t.me/DailyNasaCalendarbot

Ссылка на канал - https://t.me/daily_nasa

UPD:


Сейчас данные можно получать с Июля 1995 года по сегодня. В боте еще есть некоторые недоработки, но я ими займусь как только отловлю все баги, если вы случайно нарветесь на какой-то баг, или у вас будут какие-то предложения пишите их в комментарии, все приму во внимание😁

Исследователи космоса

18.8K поста48.7K подписчика

Правила сообщества

Какие тут могут быть правила, кроме правил установленных самим пикабу :)