Нет проблемма не в том что изменилась ли страница или нет, нужно найти измененный текст, притом как можно автоматизированей...
Существует как минимум два решения проблемы. Один путь - сравнение по строкам. То есть грубо говоря, сравниваются файлы построчно и результатом является 3 массива - в первом массиве находятся строки, которые добавлены, во втором - которые были удалены и в третьем массиве - строки, которые были изменены. Далее алгоритм можно переносить на уровень строк и для третьего массива вновь прогонять этот алгоритм, только уже относительно символов в строке. Так можно выявить куски текста, которые были добавлены или удалены.
Второй путь основан на том, что HTML - это по сути дела XML, то есть дерево нод, содержащее аттрибуты для каждой ноды, которые могут поменяться и CDATA для каждой ноды. Если страница XHTML-валидна, то на ней будет работать XSLT. Где-то у меня лежит на работе XSLT-скрипт, который производит многоуровневое рекурсивное сканирование XML-дерева с целью выявления отличий. Результатом работы скрипта является разностный XML.
Если страница не является XHTML-валидной, то в принципе её можно привести к требуемому виду используя специальный класс XHTML-валидатор. Есть много таких в инете. Есть и собственная разработка - работает вроде бы сносно, вышлю по почте.
Очень хороший алгоритм сравнения в Total Commander, особенно в последних версиях. Но он закрыт. Как работает - можно только догадываться.