Цель задачи

Разработать программу на Python для мониторинга изменений в подписках заданного списка Twitter-аккаунтов с автоматическим сохранением результатов в Google таблицу и отправкой уведомлений о новых подписках в Telegram-канал.

Функциональные требования

1. Мониторинг подписок
  • Имеется заранее заданный список Twitter-аккаунтов (далее — «контрольные аккаунты»).

  • Программа должна регулярно (интервал мониторинга — раз в час) проверять список подписок каждого контрольного аккаунта.

2. Обработка данных
  • При обнаружении новой подписки (т.е. аккаунт из контрольного списка подписался на новый аккаунт):

    • Создавать запись, фиксирующую:

      • username аккаунта, на который произошла подписка;

      • username контрольного аккаунта, совершившего подписку;

      • дату и время первой зафиксированной подписки.

    • Отправлять уведомление в Telegram-канал о новой подписке (с указанием usernames обоих аккаунтов и даты/времени).

  • Если несколько контрольных аккаунтов подписаны на один и тот же аккаунт, необходимо:

    • Обновлять запись, указывая количество контрольных аккаунтов, подписанных на данный аккаунт;

    • Перечислять usernames всех контрольных аккаунтов, которые подписаны на данный аккаунт.

  • При отписке аккаунта из контрольного списка от другого аккаунта:

    • Обновлять данные, уменьшая количество подписчиков и актуализируя список контрольных аккаунтов.

    • Если ни один контрольный аккаунт больше не подписан на определённый аккаунт, удалять этот аккаунт из таблицы мониторинга.

3. Хранение данных
  • Данные должны автоматически сохраняться в Google таблицу.

  • Обязательные поля данных:

    • username аккаунта, на который подписались;

    • список usernames контрольных аккаунтов, которые подписаны;

    • количество подписанных контрольных аккаунтов;

    • дата и время первой подписки.

Дополнительные требования

  • Возможность легко добавлять или удалять контрольные аккаунты из списка мониторинга.

  • Желательно предусмотреть простое логирование ошибок и действий программы.

Ответы на вопросы:

  • Стек технологий: Python.

  • Интервал мониторинга: 1 час.

  • Уведомления о новых подписках: требуются уведомления в Telegram-канал.

месяц назад
Дмитрий
месяц в сервисе
Был
месяц назад

Заявки фрилансеров

Владислав
 
21 год
9 дней в сервисе
Был
8 дней назад
9 дней назад
Алексей
 
51 год
8 лет в сервисе
Был
3 часа назад
110 отзывов(-1)
месяц назад
ТОП-5
Прикладное ПО
Евгений
 
38 лет
17 лет в сервисе
Был
5 часов назад
557 отзывов(-1)
месяц назад