Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр 2121 год. Технологии шагнули далеко за пределы самых смелых ожиданий, но за большим прогрессом стоит великая жертва...

Far Orion: Новые миры

Ролевые, Мультиплеер, Мидкорные

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • Animalrescueed Animalrescueed 36 постов
  • Oskanov Oskanov 7 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
743
Adriat777
Adriat777
3 года назад
Исследователи космоса

Траектория миссий спутников к планетам-гигантам⁠⁠

Видео Космос Telegram Cosmo Вертикальное видео
64
236
Phenikomperekt
Phenikomperekt
3 года назад
Исследователи космоса

Ответ на пост «408 км над Землёй»⁠⁠1

Ой, да поверни телефон просто.

Вертикальное видео Telegram Космос Вид с МКС Cosmo Видео Ответ на пост
14
23
Adriat777
Adriat777
3 года назад
Исследователи космоса

Луна от астронома-любителя 17 июня 2022 года⁠⁠

Зачем наложены такие фильтра, вопрос к знатокам астрономии, самому интересно. Может, инфракрасный, показывает разницы температур?

Вертикальное видео Видео Космос Луна Телескоп Telegram Cosmo
9
3701
Adriat777
Adriat777
3 года назад
Исследователи космоса

Потрясающая детализация туманности Южное кольцо от телескопа James Webb⁠⁠

Вертикальное видео Видео Космос Телескоп Джеймс Уэбб Telegram Cosmo
389
2335
Adriat777
Adriat777
3 года назад
Исследователи космоса

408 км над Землёй⁠⁠1

Вертикальное видео Telegram Космос Вид с МКС Cosmo Видео
205
1266
Adriat777
Adriat777
3 года назад
Исследователи космоса

Пособие для лысых: как помыть голову в космосе⁠⁠

Вертикальное видео МКС Telegram Космос Лысые Мытье Видео
132
37
YouZ63
3 года назад
Исследователи космоса

Исторические данные от 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 года по сегодня. В боте еще есть некоторые недоработки, но я ими займусь как только отловлю все баги, если вы случайно нарветесь на какой-то баг, или у вас будут какие-то предложения пишите их в комментарии, все приму во внимание😁

Показать полностью 3
[моё] Космос Apod NASA Астрономия Телескоп Хаббл Наука Python API Telegram Разработка Программирование IT Научпоп Планета Telegram бот Видео Без звука Вертикальное видео Длиннопост
1
90
YouZ63
3 года назад
Исследователи космоса

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

Ранее я писал статью А вы знали что у NASA есть API?, где я рассказал как создал канал, куда ежедневно и автоматически публикуются картина дня от NASA с описанием на русском. На мое удивление подписалось около 300 человек чему я рад,  все работало как нужно, но cегодня я проснулся и публикации не увидел, подумал "что не так?"


Оказалось, что Json который NASA возвращает динамический, и мой скрипт из-за отсутствия определенного поля навернулся😁 пофиксить не проблема, но мне стало интересно, а что NASA мне послал? а оказалось что вернулось красивое видео на несколько секунд:

Дак еще и с описанием😁 я не мог такое игнорировать, и решил что подписчики должны тоже видеть эту красоту, но я столкнулся с несколькими проблемами:


1 - Видео, это просто ссылка на Youtube, а я не хочу чтобы в телеграмме для просмотра видео подписчики шли в Youtube, и так много ссылок, зачем еще одна.


2 - Если я буду добавлять описание + ссылку на Youtube будет выглядеть не так красиво (нуу не так как я задумал то есть😁) что мне тоже не очень понравилось


3 - Мне нужно было быстрое решение, но быстрых решений я пока не видел, и понимал что нужно более детально не только изучить документацию ну и поиграться с кодом, чтобы сделать все красиво.


По этому что? я решил сделать чуть более туго, но безотказно (но это не точно)


Получаем Json , понимаем что там ссылка на видео в Youtube, в итоге просто скачиваем его, формируем пост с описанием, потом отправляем в телегу этот видос, щас расскажу как:


1 - Как скачать видео с Youtube (я по прежнему использую Python):

Есть классная библиотека - pytube, в итогу нам от NASA  API в поле url приходитссылка на ютуб видео, и мы его просто подставляем куда нужно:

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

первая строка это импорт библиотеки


url - думаю вы поняли, сюда ссылка на видео
dest - путь к директории куда будет сохранено видео
в четвертой строке, мы скармливаем библиотеке ссылку на видео, в streams.get_highest_resolution() мы выбираем самое лучшее качество, а download скачивает нам видео в нужную нам директорию

Потом я захотел чтобы я мог эти видео отдельно скачивать, тут мне помог nginx, по факту благодаря конфигурации примерно такого вида:

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

Можно обратится к серверу по доменному имени + имени видео, и будет возможность его скачать с так сказать собственного хранилища (нуу, такая у меня хотелка была)


Усе? нет, нужно же видео загружать в телеграм еще, и тут мне помогла моя хотелка )


на Python используя библиотеку requests пишем такую тему:


requests.post(f'https://api.telegram.org/bot<Токен вашего бота>/sendVideo?chat_id=<Ид канала>&caption=<Сообщение для видео>&video=<А ТУТ ПРОСТО ССЫЛКА НА ВИДЕО ИЗ ВАШЕГО "ХРАНИЛИЩА">&parse_mode=HTML')

что тут происходит можете читануть в предыдущей статье (там в начале ссылка) из нового тут вместо sendPhoto sendVideo, ну и добавлен параметр video, куда мы просто передаем ссылку на видео с нашего хранилища (если что, ссылку на ютуб туда передать нельзя, телеграм вас пошлет куда подальше) 


и вуаля, в итоге что у нас есть:

1 - Если получили ссылку на видео в ютуб, cкачиваем видео наше хранилище.


2 - Отправляем в телеграм это видео, указывая ему ссылку на наше видео с нашего хранилища + описание.


Done😁


Подводные камни что приходят сразу на ум:

1 - Если NASA API вернет видео больше 50МБ, API телеги нас пошлет

2 - Когда сохраняете видео, лучше дополнительным параметром в методе download(dest) измените имя загружаемого файла на какое-то свое даже рандомное, ибо кто знает как там они его назовут, вдруг это навернет вам сервер или поломает скрипт 😂.


Ну и шаг с хранилищем можете опустить, это больше мне для себя любимого.


Мой канал: https://t.me/daily_nasa

если что не пугайтесь, там теперь льются еще данные из hubblesite.org

Показать полностью 2
Telegram IT Интернет Программирование Программист NASA Космос Наука Астрономия Космонавтика Планета Телескоп Хаббл Научпоп Видео Без звука Длиннопост
19
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии