Расписание отправки http запросов на конкретный сайт - PullRequest
0 голосов
/ 17 мая 2011

Я хочу, чтобы каким-либо способом получать уведомления при появлении нового результата для поискового запроса на конкретном сайте.Сайт не предоставляет никаких функций (через RSS, оповещения .. и т. Д.) Для этого.Я думаю, что один из способов сделать это - отправить запрос http (для поиска) и обработать ответ http для отправки почты для любого нового результата. Параметры поиска могут быть статическими или лучше взятыми из источника (например, файла csv),Кто-нибудь знает о существующем решении (ях) онлайн, которое может достигнуть этого.

Спасибо, Джит

Ответы [ 2 ]

0 голосов
/ 17 мая 2011

Я не знаю ни одного решения с открытым исходным кодом "из коробки", чтобы сделать это, поэтому я считаю, что вам нужно написать собственный паук / сканер для выполнения вашей задачи;для этого потребуется предоставить следующие услуги:

  1. Планирование - когда должно произойти сканирование.Обычно используется системная служба 'cron' в Unix-подобных системах или планировщик задач в Windows.

  2. Получение - получение целевых страниц.Использование скриптового языка, такого как Perl, или специального системного инструмента, такого как 'curl' или 'wget'.

  3. Извлечение / нормализация - удаление всего из цели (полученной страницы), кроме содержимогоинтерес.Нужно компенсировать изменение разделов цели, которые не имеют отношения к задаче, таких как даты или реклама.Обычно выполняется с помощью языка сценариев, который поддерживает регулярные выражения (для тривиальных случаев) или библиотеки синтаксического анализатора HTML (для более специализированных извлечений).

  4. Контрольная сумма - преобразование цели в уникальный идентификатор, определяемый ее содержимым.Используется для определения изменений в цели с момента последнего сканирования.Выполняется системным инструментом (таким как команда Linux cksum) или языком сценариев.

  5. Обнаружение изменений - сравнение ранее сохраненной контрольной суммы для последней найденной цели с недавно вычисленной контрольной суммой для текущего поиска.Опять же, обычно используется язык сценариев.

  6. Оповещение - информирование пользователей об обнаруженных изменениях.Обычно через электронную почту или текстовое сообщение.

  7. Управление состоянием - хранение целевых URI, правил извлечения, пользовательских настроек и контрольных сумм цели из предыдущего запуска.Используются как файлы конфигурации, так и базы данных (например, Mysql).

Обратите внимание, что этот список служб пытается описать систему абстрактно и поэтому звучит намного сложнее, чем реальный инструмент, который вы используете.создать будет.Я уже писал несколько подобных систем, поэтому я ожидаю, что простое решение, написанное на Perl (с использованием стандартных модулей Perl) и работающее в Linux, потребует сотни строк или около того для пары целевых сайтов в зависимости от сложности извлечения.

0 голосов
/ 17 мая 2011

Это будет зависеть от конкретного сайта, который вы хотите запросить.

...