2013-12-17 2 views
6

Я начинаю сканировать. У меня есть требование для получения сообщений и комментариев по ссылке. Я хочу автоматизировать этот процесс. Я рассматривал использование webcrawler и jsoup для этого, но мне сказали, что веб-браузеры в основном используются для сайтов с большей глубиной.Извлечь содержимое (загруженное через вызов AJAX) веб-страницы

Образец для страницы: Jive веб-сайт сообщества

На этой странице, когда я просмотреть исходный код страницы, я могу видеть только пост, а не комментарии. Подумайте об этом, потому что комментарии вызывают вызов AJAX на сервер.

Следовательно, когда я использую jsoup, он не получает комментарии.

Так как я могу автоматизировать процесс сбора сообщений и комментариев?

+0

Все комментарии загружаются из базы данных jive, нет скрытых ссылок, чтобы получить исходный текст для комментариев. Должна быть ссылка, которую я искал (если вы знаете java-скрипт, возможно, вы могли бы называть его: https: //www.heylululemon.com/6.0.2.0/resources/scripts/gen/b0e45f40028721e48611c14803fef20d.js), который вызывается с сайта, чтобы получить комментарии, но я не видел. Вы пробовали возможности просмотра веб-страниц. – ImGeorge

+0

Возможный дубликат [Jsoup Java HTML parser: Выполнение javascript событий] (http://stackoverflow.com/questions/7344258/jsoup-java-html-parser-executing-javascript-events) – Pshemo

ответ

9

Jsoup является html парсер только. К сожалению, невозможно проанализировать содержимое javascript/ajax, поскольку jsoup не может их выполнить.

Решение: использование библиотеки, которая может обрабатывать скрипты.

Вот некоторые примеры я знаю:

Если такая библиотека не поддерживает синтаксический или селекторы, вы можете по крайней мере, использовать их для вывода Html из сценариев (w который затем может быть проанализирован jsoup).

2

Jsoup не обрабатывает Javascript и Ajax, поэтому вам нужно использовать Htmlunit или селен. После загрузки страницы с помощью Htmlunit или любого из них вы можете использовать jsoup для остальной задачи.

Смежные вопросы