Создание первой программы, которая использует элементы искусственного интеллекта для парсинга данных, стало для меня источником огромного волнения. Осознание того, что я создаю что-то, что может автоматически собирать информацию, обрабатывать её и даже отправлять уведомления, приносило чувство достижения и технологического прорыва.
В данной статье я расскажу, как была разработана программа для мониторинга изменений цен на сайте mymisterdom.by, с автоматической отправкой уведомлений в Телеграм и сохранением данных в файлы Excel.
Первым шагом было чёткое определение задачи: программа должна периодически парсить цены на определённые товары с сайта mymisterdom.by, сохранять эти данные и оповещать меня о любых изменениях. Для реализации были выбраны Python из-за его гибкости и богатого набора библиотек, а также библиотеки BeautifulSoup для парсинга HTML и pandas для работы с данными.
С помощью библиотеки BeautifulSoup началась разработка функции, которая извлекает необходимые данные со страницы. Код выглядел примерно так:
Шаг 3: Интеграция с Telegram для отправки уведомлений
Для отправки уведомлений использовалась библиотека python-telegram-bot. Необходимо было зарегистрировать бота в Telegram через BotFather, получить токен и написать функцию для отправки сообщений:
Шаг 4: Сохранение данных в Excel
Для сохранения данных использовалась библиотека pandas, которая позволяет экспортировать данные в формат xlsx. Данные сохранялись с текущими датой и временем в названии файла:
Шаг 5: Автоматизация процесса
Чтобы программа работала автоматически, была использована библиотека schedule для установки периодических заданий. Программа настроена так, чтобы запускать парсинг каждые 30 минут:
Проблемы и их решения
Выбор технологий и инструментов: Возможно, одной из первых сложностей был выбор подходящих инструментов и библиотек. После исследования различных вариантов я остановился на BeautifulSoup для парсинга, pandas для обработки данных и python-telegram-bot для отправки уведомлений.
Обработка исключений и ошибок: В процессе разработки я столкнулся с проблемами, связанными с обработкой исключений, когда сайт mymisterdom.by временно был недоступен или структура HTML изменялась. Я разработал механизм обработки исключений, который уведомлял меня о проблемах и пытался повторно выполнить запрос после короткой задержки.
Форматирование данных: Изначально сохранение данных в формате xlsx вызывало сложности с корректным форматированием и наименованием файлов. Решением стало использование функций Python для работы с датой и временем, что позволило автоматически генерировать имя файла на основе времени сохранения.
Планирование задач: Настройка периодического выполнения парсинга также требовала внимания. Использование библиотеки schedule позволило настроить запуск задачи на регулярной основе, обеспечивая надёжный мониторинг цен.
Когда программа начала работать без сбоев, испытанное чувство радости и удовлетворения было невероятным. Каждое уведомление в Телеграм, сообщающее об обновлении цен, было как напоминание о том, что созданная мной система жива и функционирует самостоятельно. Это было похоже на ощущение, которое испытываешь, наблюдая, как твои усилия оживают и приносят реальную пользу.
В заключение, написание программы для парсинга с использованием искусственного интеллекта и Python может показаться сложной задачей, но с помощью правильных инструментов и методов, это может быть достижимо.