ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
10 июля
348742 Топик полностью
fk0, легенда (22.08.2012 23:50, просмотров: 92) ответил Ксения на Я делаю просто - в батнике запускаю wget на интересующую меня страницу, а потом fc (file compare) с поддиректорией old.
Увы, увы. Не всё так просто. Современные веб-сайты обычно обвешаны баннерами и подобной дребеденью. Пример -- сахара. Казалось бы что сложного, например, следить за каким-то конкретным топиком. Скачал wget'ом, сравнил, есть разница -- изменился. Во-первых баннеры меняются. Разница есть всегда. Во-вторых вот эти "сегодня" завтра станут "завтра" и т.п. Общий смысл такой, что сравнивать побайтово вообще глупо. Разумно выделить нужные элементы и/или откинуть не нужные. На уровне HTML DOM. И потом сравнивать. Или даже выделив перевести в текст, откинут разметку (как это делает lynx, например), тогда и сравнивать. Вопрос чем. Скорей можно найти готовые софты для того. В своё время (лет 10 тому) были. Сейчас не в курсе. Либо можно, действительно, вручную. Например на perl написать скрипт и засунуть (для linux'оидов) его в crontab (в виндах тоже есть), чтоб исполнялся раз в сутки. Скрипт скачивает страницу, отделяет (не)нужное, конвертирует в текст. Сравнивает с ранее скачанным (текстом). Если есть разница -- diff шлёт на почту. В принципе в perl это реализуется с помощью HTML::TreeBuilrer (опять же на основе опыта 10-летней давности). Я имею ввиду отделение полезного и неполезного. Вопрос как именно. Можно либо вручную составить список плохих элементов, либо хороших. Либо выделять элемент с самым большим содержанием. Последнее подходит для большинства сайтов, кроме форумов и сахары... Как скачивать, как хранить и как делать diff очевидно более менее. Если есть конкретные вопросы спрашивайте, покажу пример. В принципе, такое можно сделать на Tcl тоже, там библиотеки есть похожие. Да, стати, ещё проблемы с javascript. Кое-где контент с его помощью загружается. Или без CSS плохо понятен смысл, всё в куче нечитаему. Но это увы, говнокод на сайте, не лечится. Ещё, кстати, вроде google и rambler такие функции раньше имели. Не помню.
[ZX]