Как получить уведомления в Slack о лучших фильмах на Netflix
Table Of Content
- SyncTree X FlixPatrol X Slack
- Пожалуйста, рекомендуйте лучший контент для "СПАСИБО, ЧТО ПЯТНИЦА!"
- Что мне нужно для интеграции SyncTree X FlixPatrol X Slack?
- Анализ HTML
- Анализ шаблона данных HTML
- Чтение проанализированного HTML-контента
- Интеграция канала Slack
- Создание блока SyncTree — проектирование API
- Создание блока SyncTree - Запрос
- Создание блока SyncTree - Оператор
- Создание блока SyncTree — Ответ
- Общее время, необходимое
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 Studio, решение для разработки Backend без кода
- Учиться здесь https://synctree.oopy.io/school_en
- Связаться https://bit.ly/3DulR9r
- Kakao Open Chat https://open.kakao.com/o/gG3iydke
Встречайте нас в сообществе SyncTree!
- _Twitter _https://bit.ly/3LWh3S3