Сканирование страницы с динамически генерируемым контентом - PullRequest
1 голос
/ 13 сентября 2010

Я использовал сканер java.net для специально созданного сканера. Проблема заключается в динамически генерируемом контенте, например, в комментариях к блогу. Рассмотрим следующую страницу http://www.avc.com/a_vc/2010/09/contrarian-investing.html. Если вы сканируете страницу и получаете источник, вы не можете просмотреть все содержимое страницы. Причина, по которой мне нужен контент, заключается в том, что я выполняю некоторые вычисления плотности ключевых слов. Следовательно, мне нужно, чтобы мое приложение могло точно видеть, что будет видеть браузер. Есть предложения?

Я посмотрел на httpclient apache, однако, он такой же, как и у вышеупомянутого сканера, просто возвращает источник. Я думаю, что на этой конкретной странице есть фрагмент javascript, который возвращает комментарии из другого домена, поэтому я предполагаю, что мне нужно проанализировать источник после его загрузки, а затем получить текст. Любая помощь приветствуется.

спасибо

Sam

Ответы [ 3 ]

2 голосов
/ 13 сентября 2010

API веб-тестирования имеют поддержку JS.Я думаю, что HTTPUnit обладает некоторой способностью выполнять Javascript с помощью Rhino.Прошло уже много времени с тех пор, как я использовал его, и, кажется, я помню, что оно не работает.В качестве альтернативы, вы можете попробовать Selenium RC, который я считаю довольно мощным для такого рода вещей, но опять же, не уверен, решит ли он конкретно вашу проблему.

Селен - http://seleniumhq.org/projects/remote-control/ HTTPUnit - http://httpunit.sourceforge.net/

0 голосов
/ 22 января 2015

Crawljax - это бесплатный веб-сканер с открытым исходным кодом для автоматического сканирования и анализа динамических веб-приложений на основе Ajax. Функция «на сцене» - это сканирование веб-сайта Dynamic.См. URL https://github.com/crawljax/crawljax. Но это инструмент тестирования.

0 голосов
/ 13 сентября 2010

Попробуйте использовать существующий движок JavaScript (V8 от Google или Rhino от Mozilla) с тайм-аутом на время выполнения. Но это может быть очень сложно. Может быть проще попытаться определить URL запроса в тексте javascript и запросить его с помощью crawler

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...