CoderCastrov logo
CoderCastrov
Технологии

Как получить уведомления в Slack о лучших фильмах на Netflix

Как получить уведомления в Slack о лучших фильмах на Netflix
просмотров
5 мин чтение
#Технологии

SyncTree X FlixPatrol X Slack


Привет! Я Стивен, страстный директор, который руководит разделом Dev в Ntuple. В техническом блоге SyncTree мы уже поделились несколькими сериями интеграции SyncTree X Slack, и сегодня мы собираемся рассказать о получении уведомлений в Slack о рейтинге фильмов на Netflix. В этой статье мы пойдем по более логическому пути разработки, что может показаться сложным, но я постараюсь сделать это максимально простым. Надеюсь, вам понравится чтение!


Пожалуйста, рекомендуйте лучший контент для "СПАСИБО, ЧТО ПЯТНИЦА!"

В наши дни существует так много потоковых каналов, таких как Netflix, Disney+, Apple TV и т. д. В то время как это замечательно иметь разнообразие контента, это также означает, что у вас есть больше вариантов для выбора.

Что, если бы я мог получать уведомление в Slack за 10 минут до того, как я уйду с работы в пятницу, с пятеркой лучших фильмов на Netflix?

Находим лучший контент, чтобы осветить наши драгоценные пятничные вечера! 😆

Я начал анализировать мой любимый сайт рейтингов OTT, FlixPatrol. Анализ FlixPatrol (парсинг) можно выполнить с помощью SyncTree. В целом, если вы понимаете инструменты разработчика вашего интернет-браузера (Chrome DevTools) и можете анализировать данные, которые вы хотите получить, вы легко сможете получить нужные данные.

Что мне нужно для интеграции SyncTree X FlixPatrol X Slack?

  • Получить рейтинги Топ-5 фильмов прошлой недели
  • Проанализировать шаблон данных HTML
  • Получить проанализированное содержимое HTML

2. Отправка сообщений в Slack

  • Установить входящие вебхуки Slack
  • Проверить API входящих вебхуков Slack
  • Проверить конструктор блоков Slack

3. Создание блока SyncTree

  • Разработать API
  • Переменные, ключевые слова (запросы)
  • Парсинг веб-страницы (инструкция)
  • Входящие вебхуки (ответ)

Анализ HTML

В широком смысле, парсинг веб-страниц означает автоматическое извлечение необходимых данных с определенного веб-сайта или страницы. Сегодня мы собираемся создать API, который будет автоматически работать в определенное время и создавать "Топ-5 рейтинг фильмов" и отправлять его в уведомлении Slack.

Давайте получим нужные нам данные. Когда мы щелкаем правой кнопкой мыши на полученных данных в Chrome и выбираем "Просмотреть код" для просмотра исходного кода страницы, мы видим, что необходимые нам данные HTML содержатся в классе "card" под "mx-content".

Анализ шаблона данных HTML

Как только вы нашли нужные данные, пришло время проанализировать шаблоны данных, чтобы понять, какую структуру можно прочитать. Выберите "Инспектировать" в разделе текста "Hunt" вверху, чтобы открыть данные, которые нам нужны. Данные, которые нам нужны для "Hunt 1", содержатся в классе "table-group". Все остальные данные также содержатся в классе "table-group", верно?

Чтение проанализированного HTML-контента

Теперь давайте прочитаем данные, которые мы получили из анализа шаблона: данные о фильме и HTML-информацию, которые нам нужны. Есть так много разных способов парсить, и нет правильного ответа, что если вы хорошо выполнили анализ шаблона, вы сможете прочитать его по-своему.

Это исходный код страницы для фильма №1 "Hunt". Он хорошо соответствует данным, которые нужно прочитать. Теперь вы определили шаблон данных и исходный код страницы для информации о фильме, которую вы хотите использовать.

Интеграция канала Slack

Пожалуйста, обратитесь к предыдущей публикации, в которой все подробно описано!

Создание блока SyncTree — проектирование API

  • Запрос — объявляет переменные и определяет ключевые слова
  • Утверждение — создает бизнес-логику или алгоритмы
  • Ответ — обрабатывает ответ

💡 Совет. Воспользуйтесь блоком 'Code Section'. Вы можете четко разделить шаги Запрос / Утверждение / Ответ.

👉 Связанная публикация о блоке 'Code Section'

Создание блока SyncTree - Запрос

Объявите переменные для 'Ранга', 'Названия', 'Постера', 'Очков' и 'Ссылки на страницу с подробностями', как определено FlixPatrol, и предварительно объявите переменные и константы, необходимые для парсинга.

💡 Подсказка. Вы можете предварительно организовать свою работу в блоке "Комментарий". Это то же самое, что и "комментарии" в обычном кодировании.

Создание блока SyncTree - Оператор

Вызовите URL FlixPatrol с помощью блока "Передача" и получите в ответ источник данных HTML.

Обрежьте только необходимые источники данных HTML.

Часть вырезания необходимых элементов реализуется с помощью библиотеки 'SyncTree'.

💡 Подсказка. Блоки библиотек позволяют представлять и вызывать даже сложную бизнес-логику или формулы в виде небольших блоков.

Для извлечения данных о фильмах и преобразования их в данные, которые можно отправить в Slack, используются блоки 'Loop Foreach' и 'parsHTML' библиотеки. Блок 'parsHTML' содержит множество логических элементов, таких как foreach, if else, json-разбор и библиотека.

Если вы запутались в этой части, вы можете обратиться к SyncTree School или различным примерам использования SyncTree на YouTube.


Создание блока SyncTree — Ответ

Вы взяли свой парсинг веб-сайта и превратили его в сообщение для отправки в Slack Builder. Теперь пришло время отправить сообщение в Slack.

Как только вы понимаете, как работают входящие вебхуки через веб-сайт Slack, введите URL-адрес запроса, который вы создали.

Подготовьтесь отправить данные, созданные с помощью Slack Builder, через блок 'Json Encode'.

Передача значения 'data' в URL-адрес входящих вебхуков Slack с помощью блока 'Transfer' завершает часть ответа. Теперь вам остается только протестировать его!

Очень легко и просто, верно?

Та-да! Вы можете получать уведомление в Slack о лучших фильмах и сериалах на Netflix за 10 минут до того, как выйдете из офиса каждую пятницу!

Общее время, необходимое

Это заняло около двух дней. Если вы уже понимаете часть интеграции с Slack из моего предыдущего сообщения, вы можете вычесть 6 часов, так что вы можете закончить парсинг веб-страниц примерно за день!

Мы все были там: вы изучаете язык программирования, накапливаете справочные материалы, и прежде чем заметите, ваши руки становятся быстрее, и вы меньше гуглите. Я уже некоторое время использую SyncTree и обнаружил, что это не только быстрее, но и очень легко переиспользовать. 😁


Встречайте нас в сообществе SyncTree!