Как динамически анализировать HTML-код с помощью пакета Agility HTML? - PullRequest
1 голос
/ 02 апреля 2012

Мне нужно проанализировать динамически сгенерированный код HMTL с помощью пакета Agility HTML.

Например, этот код:

<div class="navigation_noClass"> There are 43 articles </div>

не отображается в параметре «Источник страницы» веб-браузера, т. Е. Этот код можно увидеть только с помощью некоторых инструментов проверки, таких как Firebug, Inspect Context ...

1 Ответ

0 голосов
/ 02 апреля 2012

Прямо сейчас звучит так, будто вы вводите полученный HTML-код непосредственно в пакет Agility и, таким образом, пропускаете несколько (жизненно важных?) Шагов, которые выполнял бы обычный браузер.т.е. выполнение Javascript и / или CSS.

Существует множество вариантов выполнения Javascript, но большинство разумно «автономных» параметров требуют воссоздания DOM и связанных с ним функций.Не тривиально.

И есть случаи, когда CSS содержит контент (например, псевдоэлементы «До / После»).Насколько я знаю, не так уж много библиотек для имитации поведения CSS на источнике HTML вне браузера.

Все это означает, что если вам действительно нужно захватить выходные данные Javascript и / илиВыполнение CSS, возможно, проще всего подключить браузер непосредственно к конвейеру обработки вашего приложения (например, одному из предложений на основе Chromium) и опросить его DOM (аналогично многим функциональным комплектам веб-тестирования).

NB. Если это задача обработки в стиле сервера серьезного размера, возможно, вы захотите перенести такую ​​обработку на выделенные серверы / пулы / процессы приложений, чтобы дать вашему приложению шанс на борьбу при достойном времени работы и / или памяти.

...