Русский
Начать

← Все шаблоны · Аналитика и мониторинг

Задеплойте changedetection.io в один клик

Следит за веб-страницами и сообщает, когда они меняются: цены, наличие товаров, новости

Альтернатива Visualping и Distill.io на вашей машине.

Что такое changedetection.io?

changedetection.io следит за веб-страницами и сообщает, когда они меняются. Его используют вместо Visualping или Distill.io, чтобы ловить снижение цен и возвращение товаров в продажу, вакансии, объявления госорганов, заметки о релизах и документы, которые меняются без предупреждения. Каждое отслеживание проверяет свою страницу по расписанию, раз в три часа, если не задать другой интервал, и показывает изменения по словам, по строкам или по символам.

Он может следить только за нужной частью страницы, выбранной CSS-селектором, XPath или, для JSON, JSONPath или jq, срабатывать на один текст, игнорировать другой или отслеживать цену и наличие товара. PDF-файлы он тоже читает. Оповещения уходят более чем в 85 сервисов через Apprise, например в почту, Telegram, Discord, Slack и ntfy, а каждое изменение попадает еще и в RSS-ленту.

Этот шаблон запускает changedetection.io с его простым и быстрым способом загрузки страниц, данными в томе и паролем, который вы задаете, с первого запуска, так что его страница никогда не бывает открыта для всех. Он загружает страницы в том виде, в каком их отдает сервер: «Выбор визуального фильтра», «Шаги браузера» и страницы, текст которых рисует JavaScript, требуют загрузки через Chrome, а шаблон обходится без нее, чтобы оставаться легким.

Хостинг changedetection.io на Pethost

  1. Вы входите в Pethost — с passkey, через GitHub или Google. Машины еще нет? Вы выбираете тариф, и ссылка ждет, пока машина не будет готова.
  2. Окно «Новый проект» открывается на приложении changedetection.io. Вы заполняете то, что оно просит, и нажимаете «Создать проект»: Пароль.
  3. Через минуту-две changedetection.io работает по своему адресу с HTTPS. Секреты создаются случайно, а данные попадают в ночной бэкап.
  4. Это проект как любой другой: вы или ваш агент можете его изменить, откатить или восстановить.

Вопросы про changedetection.io

changedetection.io бесплатный?

Да. changedetection.io распространяется с открытым кодом под лицензией Apache 2.0, и если запускать его самому, платить придется только за машину. Его авторы также продают облачную версию за 8,99 $ в месяц, с Chrome и прокси в комплекте.

Как получать оповещения в Telegram, Discord или на почту?

Добавьте URL уведомлений в разделе «Settings» → «Уведомления»: changedetection.io отправляет их через Apprise, который знает более 85 сервисов, записанных в виде URL, например tgram://, discord:// или mailto://. У отслеживания могут быть и свои URL, на его вкладке «Уведомления».

Может ли changedetection.io следить за ценами и наличием?

Да. При добавлении страницы товара выберите «Пополнение запасов и определение цен»: changedetection.io берет цену и наличие из данных страницы и оповещает вас, когда цена опускается ниже порога или поднимается выше, меняется на заданный вами процент или товар снова появляется в наличии.

Почему страница приходит пустой или без содержимого?

Некоторые страницы рисуют текст с помощью JavaScript уже после загрузки, а этот шаблон загружает страницы в том виде, в каком их отдает сервер. Следите вместо этого за RSS-лентой сайта, его JSON API или страницей, где этот текст есть, или добавьте в compose-файл браузер Chrome для загрузки страниц, например sockpuppetbrowser, и направьте на него PLAYWRIGHT_DRIVER_URL.

Как следить только за частью страницы?

На странице «Редактировать» отслеживания, на вкладке «Фильтры и триггеры», укажите CSS-селектор или XPath нужной части и строки текста, которые надо игнорировать. Учитываются только изменения внутри нее, так что часы или реклама в другом месте страницы ничего не запустят.

Сколько памяти и диска нужно changedetection.io?

changedetection.io: небольшие требования — около 60 MB памяти, а каждое отслеживание при каждом изменении сохраняет сжатую копию страницы, так что его данные растут на несколько килобайт за каждую проверку, которая нашла изменение. На Pethost ему хватит тарифа Starter, и рядом останется место для других приложений.

changedetection.io: файл Docker Compose

Шаблон — это этот compose.yaml и переменные, которые пишутся в .env проекта при его создании. Pethost запускает файл так, как он написан.

Контейнеры: changedetection (dgtlmoon/changedetection.io:0.60).

Тома, в ночном бэкапе: datastore.

services:
  changedetection:
    image: dgtlmoon/changedetection.io:0.60
    restart: unless-stopped
    environment:
      BASE_URL: ${URL}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
      # The sites watched do not see this address as the referrer of each check.
      HIDE_REFERER: "true"
    # changedetection.io has one password and none at first, so its page would be open to anyone
    # until it is set. SALTED_PASS gives it the password from the first start, salted and hashed as
    # changedetection.io stores one; its settings cannot remove it.
    command:
      - sh
      - -c
      - |
        SALTED_PASS=$$(python3 -c '
        import base64, hashlib, os
        salt = os.urandom(32)
        key = hashlib.pbkdf2_hmac("sha256", os.environ["ADMIN_PASSWORD"].encode(), salt, 100000)
        print(base64.b64encode(salt + key).decode())
        ') || exit 1
        export SALTED_PASS
        unset ADMIN_PASSWORD
        exec python ./changedetection.py -d /datastore
    volumes:
      - datastore:/datastore

volumes:
  datastore:

Еще в категории «Аналитика и мониторинг»