Instagram Bot – це потужний інструмент для автоматизації дій в Instagram, таких як підписка, відписка, коментування та інші. Однак, під час роботи з Instagram Bot можуть виникати різноманітні помилки, зокрема, помилка 429, яка пов’язана з обмеженням на кількість запитів, що можна виконати протягом певного періоду часу.
Помилка 429 може виникати при спробі здійснення багатьох запитів до Instagram у короткий проміжок часу. Це може статися, наприклад, при спробі автоматизованого взаємодії з великою кількістю користувачів або при використанні некоректних налаштувань.
Одним з способів вирішення цієї проблеми є ефективне управління помилками у вашому Instagram Bot. Для цього можна використовувати стратегії перехоплення винятків, записування журналів, ретрі-підключення та інші методи.
Нижче наведено приклад коду Python для Instagram Bot з ефективним управлінням помилками, який включає в себе обробку помилки 429:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
import os import time import random import logging from instabot import Bot import requests # Налаштування логування logging.basicConfig(filename='app.log', filemode='w', format='%(name)s - %(levelname)s - %(message)s', level=logging.WARNING) # Вхід в Instagram з управлінням сесією def login_with_retry(bot, username, password, retry_count=3, delay_base=5): for _ in range(retry_count): try: bot.login(username=username, password=password, use_cookie=True) print("Успішний вхід!") return True except requests.exceptions.HTTPError as err: if err.response.status_code == 429: print("Виникла помилка запитів.") logging.warning(err) raise err else: print(f"Помилка входу: {err}") # Якщо вхід не вдається, повторити спробу після затримки print("Повторна спроба після затримки...") time.sleep(delay_base * (_ + 1) + random.uniform(1, 3)) # Додати випадкову затримку except Exception as e: print(f"Помилка входу: {e}") # Якщо вхід не вдається, повторити спробу після затримки print("Повторна спроба після затримки...") time.sleep(delay_base * (_ + 1) + random.uniform(1, 3)) # Додати випадкову затримку return False def main(): # Створення екземпляру Bot bot = Bot() # Ваші облікові дані Instagram username = "" password = "" # Вхід з повторними спробами if login_with_retry(bot, username, password): try: # Слідкувати за користувачами try: bot.follow(["@spotify", "@applemusic"]) time.sleep(random.uniform(120, 180)) # Випадкова затримка між 120 і 180 секундами except Exception as e: print(f"Помилка при підписці на користувачів: {e}") print("Очікування 60 секунд перед повторною спробою...") time.sleep(60) # Затримка на 60 секунд перед повторною спробою try: bot.unfollow(["@spotify", "@applemusic"]) time.sleep(random.uniform(120, 180)) # Випадкова затримка між 120 і 180 секундами except Exception as e: print(f"Помилка при відписці від користувачів: {e}") print("Очікування 60 секунд перед повторною спробою...") time.sleep(60) # Затримка на 60 секунд перед повторною спробою finally: bot.logout() # Забезпечуємо вихід, навіть якщо виникає виняток else: print("Не вдалося увійти після кількох спроб. Будь ласка, перевірте ваші облікові дані Instagram.") if __name__ == "main": main() |
Цей код включає в себе ефективне управління помилками, яке дозволяє вирішити проблему 429 в Instagram Bot. З використанням цих стратегій ви зможете забезпечити стабільну та надійну роботу вашого бота в Instagram.