Эта статья представляет собой руководство по созданию бота, который ежеминутно публикует вдохновляющие цитаты с использованием Python.
Эта статья - часть задачи Daily Python, которую я взял на себя. Я буду писать короткие статьи о Python ежедневно.
Требования:
- Python 3.0
- Пип
Установите следующие пакеты:
- Tweepy - Библиотека, обеспечивающая легкий доступ к API Twitter.
- Запросы - Библиотека для выполнения HTTP-запросов.
- json - Библиотека для обработки объектов JSON
- время
pip install tweepy requests
Импортируем необходимые модули
import requests import tweepy import time import json
Первый шаг - настроить Twitter-бота с помощью tweepy.
Примечание. Следуйте инструкциям в следующей статье и создайте свое приложение.
После того, как вы создали свое приложение twitter и сгенерировали ключи API и токены доступа, определите функцию для настройки бота twitter.
def setup_Bot(): consumerKey = "YOUR_API_KEY" consumerSecret = "YOUR_API_KEY_SECRET" accessToken = "YOUR_ACCESS_TOKEN" accessTokenSecret = "YOUR_ACCESS_TOKEN_SECRET" auth = tweepy.OAuthHandler(consumerKey, consumerSecret) auth.set_access_token(accessToken, accessTokenSecret) api = tweepy.API(auth) return api
Теперь давайте напишем функцию, которая будет получать вдохновляющую цитату для бота.
Следующий API предоставляет случайные вдохновляющие цитаты:
Нам нужно вызвать этот метод, чтобы получить случайную вдохновляющую цитату для нашего твиттер-бота.
def get_Quote(): params = { 'method':'getQuote', 'lang':'en', 'format':'json' } res = requests.get('http://api.forismatic.com/api/1.0/',params) jsonText =json.loads(response.text) return jsonText["quoteText"],jsonText["quoteAuthor"]
Используя модуль JSON, мы можем преобразовать текст ответа в объект JSON и получить доступ к его отдельным парам ключ-значение.
Наконец, давайте напишем цикл, который будет твитнуть вдохновляющую цитату каждую минуту
api = setup_Bot() while True: try: quote,author = get_Quote() status = quote+" -"+author+"\n"+"#python \ #dailypython #twitterbot #pythonquotes #programming" print('\nUpdating : ',status) api.update_status(status=status) print("\nGoing to Sleep for 1 min") time.sleep(60) except Exception as ex: print(ex) break
Измените этот код и заставьте своего твиттер-бота делать то, что вы хотите. Ознакомьтесь с условиями, предоставленными Twitter для разработки ботов для Twitter.
Я надеюсь, что эта статья была полезной, оставьте несколько аплодисментов, если она вам понравилась.