/space-instagram

Скрипты получения изображений из API и публикации их в Instagram

Primary LanguagePython

Космический Инстаграм

О скриптах

fetch_spacex.py - скрипт предназначен для скачивания всех фотографий последнего запуска космического корабля SpaceX с использованием API SpaceX;
fetch_hubble.py - скрипт предназначен для скачивания всех фотографий указанной коллекции, которые были получены телескопом Hubble, с использованием API Hubble;
upload_images.py - скрипт предназначен для загрузки изображений (.jpg) из указанной папки в аккаунт социальной сети Instagram;
save_image.py и helpers.py - вспомогательные скрипты.

Как установить

  1. Python3 должен быть уже установлен. Затем используйте pip (или pip3, если есть конфликт с Python2) для установки зависимостей:
    pip install -r requirements.txt
  2. В директории со скриптами создать файл .env, и записать в него переменные в следующем формате: <ПЕРЕМЕННАЯ>=<ЗНАЧЕНИЕ>
    INSTAGRAM_LOGIN=<логин в Instagram>  
    INSTAGRAM_PASSWORD=<пароль от аккаунта>
    IMAGES_FOLDER=<путь к каталогу с изображениями> - опционален
    HUBBLE_COLLECTION=<название коллекции Hubble> - опционален
    
  3. Для скачивания всех фотографий последнего запуска SpaceX запустить команду:
    python fetch_spacex.py -i tmp_folder
    Флаг -i (--images_folder) принимает в качестве аргумента путь до каталога для сохраненных изображений (при отсутствии будет создан). Флаг -i является опциональным. Без его указания изображения будут сохранены в каталоге, указанном в переменной IMAGES_FOLDER файла .env. При отсутствии данной переменной изображения будут сохранены в каталоге по умолчанию images (при отсутствии будет создан в каталоге со скриптами). При сохранении изображения конвертируются в формат .jpg с максимальным размером стороны 1080.
  4. Для скачивания всех фотографий указанной коллекции, которые были получены телескопом Hubble, запустить команду:
     python fetch_hubble.py -i tmp_folder -c holiday_cards
    Флаг -i (--images_folder) принимает в качестве аргумента путь до каталога для сохраненных изображений (при отсутствии будет создан). Флаг -i является опциональным. Без его указания изображения будут сохранены в каталоге, указанном в переменной IMAGES_FOLDER файла .env. При отсутствии данной переменной изображения будут сохранены в каталоге по умолчанию images (при отсутствии будет создан в каталоге со скриптами). При сохранении изображения конвертируются в формат .jpg с максимальным размером стороны 1080.
    Флаг -c (--hubble_collection) принимает в качестве аргумента название коллекций Hubble. Флаг -c является опциональным. Без его указания будет использована коллекция, указанная в переменной HUBBLE_COLLECTION файла .env. При отсутствии данной переменной будет использована коллекция по умолчанию spacecraft. При сохранении изображения конвертируются в формат .jpg с максимальным размером стороны 1080.
  5. Для загрузки всех фотографий из каталога с изображениями в аккаунт социальной сети Instagram запустить команду:
    python upload_images.py -i tmp_folder
    Флаг -i (--images_folder) принимает в качестве аргумента путь до каталога с изображениями. Флаг -i является опциональным. Без его указания изображения будут загружены из каталога, указанного в переменной IMAGES_FOLDER файла .env. При отсутствии данной переменной изображения будут загружены из каталога по умолчанию images. В случае его отсутствия работа программы будет завершена. По завершении работы программа удаляет все обработанные изображения формата .jpg.

Цель проекта

Код написан в образовательных целях на онлайн-курсе для веб-разработчиков dvmn.org.