Привет! В этой статье мы создадим простого бота в Твиттере с Python, который будет использовать API с открытым исходным кодом НАСА, чтобы твитнуть изображение Марса каждые 1 час. Я построил этот бот и организовал его на Heroku, и он онлайн в течение последних нескольких месяцев. Вы можете просмотреть это здесь Марс изображение бот Анкет Итак, следуйте, как я подробно описываюсь ниже всего процесса.
Шаг 1: Получение учетных данных от API Open NASA
Поскольку мы собираемся вытащить наши изображения из API с открытым исходным кодом НАСА, что, в свою очередь, получает эти изображения от Mars Rover. Итак, давайте первым посетим https://api.nasa.gov/ Здесь мы должны ввести несколько деталей, и это даст нам ключ API для доступа к его API.
После ввода всех деталей вы должны увидеть экран ниже, где будет показан ключ API, пожалуйста, обратите внимание на это, нам понадобится.
Теперь, в меню, выберите API обзор и введите Mars в поле поиска, вы должны увидеть все API, связанные с MARS.
Теперь мы собираемся использовать приведенный ниже API, который отправляет нам случайные данные изображения каждый раз, когда мы меняем номер Sol.
https://api.nasa.gov/mars-photos/api/v1/rovers/curiosity/photos?sol=12&api\_key=DEMO\_KEY
Замените demo_key вашим ключом API.
Эта конечная точка возвращает массив фотографий, который содержит всю информацию. Мы будем пересекать его и найти конечную точку изображения.
Итак, у нас есть вся информация, которая нам была нужна от НАСА.
Шаг 2: код нашего бота Python
Сначала мы получим ключи API в Твиттере, чтобы перейти к этому URL Разработчик портал и следуйте процессу, который является самоочевидным. В конце концов, у вас должен быть ключ доступа и ключ потребителя. (Дайте мне знать в комментариях, если вы столкнетесь с какими -либо проблемами.)
Давайте начнем кодирование. 😈
Сначала давайте импортировать Tweepy и другие библиотеки и установите ключи Twitter в переменной. Я использовал переменные конфигурации, так как позже я собираюсь развернуть их на сервере, вы можете напрямую назначать значения для локальной разработки.
Теперь попробуйте установить связь с Twitter, если все будет хорошо, вы должны увидеть «Подключение сделано!» Сообщение, в терминале.
Теперь, когда мы подключены к Twitter, давайте попробуем вытащить изображение из API NASA, которое мы собираемся использовать. Во -первых, мы получаем текущую дату и время и распечатываем его. Затем мы пытаемся принести случайное целое число, если вы помните в API НАСА, нам нужно пройти случайный соль. Итак, мы добавим этот номер в URL -адрес API и сделаем запрос на получение. Если код запроса составляет 200, мы начнем читать ответ, иначе распечатаем сообщение об ошибке.
Поскольку URL наше изображение находится в массиве фотографий, мы сохраним этот массив в Photos_array, и, как вы можете видеть в ответе, в массиве есть несколько изображений, так что давайте выберем случайный объект из массива, снова используя случайный библиотека. Как только мы нашли изображение, передайте сообщение и изображение другой функции, откуда мы на самом деле обновим статус Twitter.
Эта функция очень проста, она делает веб -вызов на URL -адрес изображения, а затем тянет его. Кроме того, он использует приведенный ниже метод Tweepy Library для обновления статуса Twitter.
api.update_with_media(filename, status=message)
Теперь, если вы выполнили все эти шаги и вызовите get_random_image_from_nasa Функция, вы должны быть в состоянии твитнуть изображение, но давайте запланируем его на каждый час.
Здесь мы используем, планируем библиотеку, чтобы запустить вышеуказанную функцию каждый час.
Поздравляю!, Теперь ваш бот работает.
Дайте мне знать, если вы хотите, чтобы я написал о том, как размещать этот бот в Хероку и бежать бесплатно на всю жизнь. 🐶
Github repo url – https://github.com/a-blank-slate/mars-image-tweeting-bot/blob/main/tweet.py
Спасибо! для чтения этого.
Оригинал: “https://dev.to/blank_slate/twitter-bot-which-tweets-mars-photos-aak”