Юрий Михин @undgrnd
Разработчик веб-интерфейсов
Information
- Rating
- Does not participate
- Location
- Новомосковск, Тульская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Frontend Developer
Middle
From 250,000 ₽
JavaScript
React
HTML
CSS
Adaptive layout
Web development
BEM
Crossbrowser layout
Хороший вопрос! Честно говоря не помню свою мотивацию, но да, — с точки зрения упрощения кода можно использовать и
setInterval()
.Вообще, я запускал скрипт на сервере при помощи библиотеки
pm2
, и там есть встроенныйcron
тоже — https://stackoverflow.com/a/42543433. Тогда кажется, лучше убратьcron
из скрипта и устанавливать его на уровне окружения.Строго говоря, это не бот опрашивает страницу, а скрипт, размещенный и запущенный на сервере. Думаю, что по ip конечно могут и забанить =) Но, кажется, бот создает примерно такую же нагрузку как и средний пользователь сайта)
О, не так все сложно, оказывается. А что приходит в ответ на такой запрос?
Крон установлен как `* * * * *`, что означает «раз в минуту» — https://github.com/mikhin/hyundai-showroom-monitor-bot/blob/master/index.js#L25
Звучит как план и должно получиться, да)
Верно, но при этом я видел как минимум одного популярного неофициального бота, который справляется с задачей авторизации
Вы правы, но эта функция появилась совсем недавно, буквально на днях, а парсер был написан раньше.
Плюс ко всему, вчера, при обновлении стока автомобилей, официальный бот прислал уведомление на 15(!) минут позже, чем автомобиль появился в наличии на сайте.
Согласен, но в качестве полезной информации хотелось передавать в телеграм-канал подробную информацию об автомобилях в наличии, а с текущем уровнем шифрования, в лоб, это сделать не получилось.
Данным же способом можно немного распарсить DOM и передать в канал информацию о о модели, комплектации, стоимости и т.д.
Нет, но планирую плотно заняться мониторингом и бронированием для себя в ближайшие пару месяцев.
Не пробовал, но задача интересная =)
Вроде бы не хватает
-movflags faststart
в параметрах конвертации, для того, чтобы файл в вебе мог запускаться до его полной загрузки.