Без исправленной структуры HTML для разбора, я бы не хотел поддерживать регулярные выражения для поиска данных. Возможно, вам больше повезет, анализируя HTML через правильный синтаксический анализатор, который создает дерево. Затем выберите элементы ... которые будут более удобными для обслуживания.
Очевидно, что лучший способ - это вывод XML из движка с фиксированной разметкой, который вы можете анализировать и проверять. Я думаю, что HTML-библиотека для разбора с некоторым «в темноте» зондированием созданного дерева будет проще поддерживать, чем регулярные выражения.
Таким образом, вам просто нужно проверить, <a href="blah" class="cache_link">...
превращается в <a href="blah" class="cache_result">...
или что-то еще.
В итоге, поиск определенных элементов с помощью регулярного выражения будет мрачным. Лучшим подходом является создание DOM-подобной модели страницы и поиск «привязок» к символьным данным в тегах.
Или отправьте электронное письмо на сайт с заявлением о применении XML API ... вас могут нанять!