Вопрос или проблема
Существует много бесплатных/фремиум веб-сервисов, которые отправляют уведомления по электронной почте всякий раз, когда содержимое определенной веб-страницы изменяется; например, visualping.io, changedetection.com, onwebchange…
К сожалению, страница, которую я хочу отслеживать, является результатом поиска, который отправляется с помощью формы по POST. Это чистый поиск без побочных эффектов, поэтому я думаю, что в данном случае должен был использоваться GET, но это внешний веб-сайт, и я застрял с ним.
Существует ли бесплатный веб-сервис, который может отслеживать результат POST-запроса и отправлять мне электронное письмо при изменениях? Или программное обеспечение/скрипт, который я могу разместить сам? Предпочтителен Linux в данном случае.
Спасибо!
Бесплатный веб-сервис http://changemon.com/ имеет такую возможность. Вы можете выполнять POST-запросы к указанному URL, добавив строку, похожую на GET, в поле URL changemon, начиная с ?postdata=
:
http://website.com/seach?postdata=parameter1:value1,parameter2:value2
Смотрите раздел «Отправка данных» в разделе «Советы и рекомендации» на их главной странице.
- Проверьте, работает ли GET. Многие веб-сайты обрабатывают GET и POST запросы к одному адресу одинаково. Вы можете легко проверить это, изменив метод формы с POST на GET и посмотрев, приведет ли это к результатам с новым URL.
- Используйте собственное программное обеспечение. Отправка POST-запросов обычно не поддерживается веб-сервисами, поскольку это может использоваться в злонамеренных целях, например, для отправки спама. Также многие веб-страницы предотвращают повторные отправки форм, используя CSRF-токены (которые требуют повторной загрузки веб-страницы, на которой размещена форма). Самым популярным программным обеспечением с этой возможностью, похоже, является Web Alert, бесплатное приложение для Android (однако, я не думаю, что оно может отправлять уведомления по электронной почте на данный момент).
Надеюсь, это поможет вам 🙂
Просто добавляю в список вариантов – www.trackapage.com . Это бесплатно, и также сохраняет архив исторических экранов.
https://github.com/dgtlmoon/changedetection.io / changedetection.io сделает именно это, вот скриншот, показывающий, где настроить опцию для отслеживания изменений на веб-странице, использующей POST.
https://changedetection.io полностью открытое программное обеспечение, поэтому вы можете просто скачать его по ссылке на github и попробовать.
Затем просто настройте уведомления для электронной почты, дискорда и т.д.
Ответ или решение
Отслеживание изменений на веб-странице, использующей POST-запросы
Отслеживание изменений на веб-страницах – это важный аспект для пользователей, которые хотят быть в курсе обновлений на определённых ресурсах. Однако некоторые веб-страницы, такие как результаты поиска, используют POST-запросы, что может затруднять мониторинг изменений с помощью стандартных бесплатных сервисов. В данной статье мы рассмотрим различные подходы и инструменты для отслеживания страниц, использующих POST-запросы, а также предложим несколько эффективных решений.
1. Проверьте, доступен ли GET-запрос
Перед тем как искать более сложные решения, стоит убедиться, что веб-страница поддерживает GET-запросы. Некоторые сайты могут повторно обрабатывать GET-запросы, что позволяет обойти необходимость в использовании POST. Вы можете проверить это, изменив метод формы с POST на GET и упростив запрос, чтобы увидеть, вернёт ли сайт тот же результат. Если GET-запрос работает, вы можете использовать стандартные решения для отслеживания изменений.
2. Использование онлайн-сервисов для отслеживания изменений
Если POST-запросы являются единственно приемлемыми, рассмотрите следующие сервисы:
-
ChangeMon (http://changemon.com): Этот бесплатный сервис поддерживает отправку POST-запросов. Вы можете указать данные, которые необходимо отправить, используя строку с параметрами в формате GET. Например:
http://example.com/search?postdata=param1:value1,param2:value2
Это позволяет этой платформе отслеживать изменения на нужной странице и уведомлять вас по электронной почте.
-
Changedetection.io (https://github.com/dgtlmoon/changedetection.io): Это бесплатный и открытый инструмент для отслеживания изменений, который позволяет настраивать мониторинг страниц с использованием POST-запросов. Он предоставляет возможность настройки уведомлений через электронную почту и другие каналы. Установка достаточно проста, и кода можно запустить на вашем собственном сервере.
3. Использование собственного программного обеспечения
Если вы предпочитаете решение, которое требует большего контроля, можно рассмотреть внедрение собственного скрипта для отслеживания изменений. В этом случае хорошими вариантами могут быть языки программирования, такие как Python, с библиотеками для работы с HTTP-запросами (например, requests
), и BeautifulSoup
для парсинга HTML-контента.
Вот пример простого скрипта на Python:
import requests
from bs4 import BeautifulSoup
import time
url = 'http://example.com/search'
data = {'param1': 'value1', 'param2': 'value2'}
previous_content = None
while True:
response = requests.post(url, data=data)
current_content = response.text
if previous_content and previous_content != current_content:
print("Content has changed!")
# Здесь можно добавить код для отправки уведомления по электронной почте
previous_content = current_content
time.sleep(60) # Проверка каждые 60 секунд
4. Альтернативные сервисы
-
Trackapage (www.trackapage.com) также предоставляет возможность отслеживания изменений и ведёт архив скриншотов, что может быть полезно для визуального сравнения контента.
-
Web Alert: Хотя это мобильное приложение и его возможности мониторинга ограничены, тем не менее оно может быть удобно для пользователей Android.
Заключение
Выбор подходящего инструмента или метода для отслеживания изменений на веб-страницах, использующих POST-запросы, зависит от ваших предпочтений и технической подготовки. Если вам нужно простое решение, бесплатные сервисы, такие как ChangeMon и Changedetection.io, могут быть отличным выбором. Однако, если необходим контроль и гибкость, рекомендуется использовать собственное решение на базе программирования.