Поскольку браузер просто отображает базовый контент, наиболее гибкий подход заключается в том, чтобы самостоятельно проанализировать базовый контент (html / css / js / что угодно).
Я бы создал механизм синтаксического анализа, который ищет то, что нужно вашему приложению-пауку.
Это может быть базовый алгоритм поиска строк, который, например, ищет href = "" и считывает значения для создания новых запросов и продолжения паутинга. Ваш движок может быть написан так, чтобы искать только те вещи, которые его интересуют, и расширены таким образом для большей функциональности.