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