Мониторинг сайта на наличие данных (билетов в Алькатрас) с отправкой сообщений на email

Задача: 

Отслеживать наличие билетов в Алькатрас на сайте alcatrazcruises.com на заданные даты,
и при появлении билетов выслать уведомление на email со вложенным файлом со списком доступных билетов.
Запускать парсер с интервалом 20 минут

Описание: 

Настройки парсера задаются в переменных (на первой вкладке настроек парсера):
- email и тема письма, если данные будут найдены на сайте
- даты проверки (от и до)

При запуске, парсер загружает страницу сайта (пример ссылки), открывает данные по первой дате (дата начала), и обрабатывает результаты, пока не встретится вторая дата (дата окончания).
В случае, если есть результаты, — они выводятся в файл Excel, и выполняется отправка сформированного файла на почту (набор действий SendEmail)
Если же билеты не найдены, — парсер завершит свою работу, не создавая файла Excel.
При завершении парсера, он планирует свой запуск через 20 минут, — таким образом, парсер будет запускаться автоматически до тех пор, пока не будет закрыт Excel, или в меню "Дополнительно" не будет нажата кнопка «Отменить все запланированные запуски парсера»

Перед тестированием парсера, обязательно укажите свой email в настройках, и поставьте актуальные даты (примерно на 30-50 дней больше текущей даты)

 

PS: я делал этот парсер летом 2016 для собственных нужд, — собираясь с Сан-Франциско, я хотел посетить знаменитую тюрьму Алькатрас, которая уже давно превращена в музей.
Однако, при поиске билетов, выяснилось, что их можно купить только на даты дней через 40 (такая вот пичалька), а на ближайшие даты (дней через 5-20) билеты хоть и появляются изредка (примерно в 17-00 по калифорнийскому времени), но практически сразу раскупаются. Единственным вариантом купить эти билеты на сайте оставался непрерывный мониторинг сайта, с отправкой уведомления на email (парсер был запущен на домашнем компе, а я, будучи уже в штатах, мониторил почту на предмет уведомлений о появившихся билетах)
PPS: так я туда и не попал, - не досталось мне билетов на нужные мне даты. Но, может, кому пригодится это решение :) 

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
  __  __   ____    _____         ____    _____ 
| \/ | |___ \ | ____| ____ | __ ) |___ |
| |\/| | __) | | _| |_ / | _ \ / /
| | | | / __/ | |___ / / | |_) | / /
|_| |_| |_____| |_____| /___| |____/ /_/
Введите код, изображенный в стиле ASCII-арт.