Obtener contenido (cargado a través de una llamada AJAX) de una página web

Soy un principiante para gatear. Tengo el requisito de buscar las publicaciones y los comentarios de un enlace. Quiero automatizar este proceso. Consideré usar webcrawler y jsoup para esto, pero me dijeron que los webcrawlers se usan principalmente para sitios web con mayor profundidad.

Muestra de una página: sitio web de la comunidad Jive

Para esta página, cuando veo el origen de la página, puedo ver solo la publicación y no los comentarios. Creo que esto se debe a que los comentarios se obtienen a través de una llamada AJAX al servidor.

Por lo tanto, cuando uso jsoup, no obtiene los comentarios.

Entonces, ¿cómo puedo automatizar el proceso de búsqueda de publicaciones y comentarios?

Jsoup es un analizador html solamente. Lamentablemente, no es posible analizar el contenido de javascript / ajax, ya que jsoup no puede ejecutarlos.

La solución: usar una biblioteca que pueda manejar Scripts.

Aquí hay algunos ejemplos que conozco:

  • HtmlUnit
  • Java Script Engine
  • Apache Commons BSF
  • Rinoceronte

Si tal biblioteca no es compatible con el análisis sintáctico o los selectores, al menos puede utilizarlos para sacar Html de los scripts (que luego pueden ser analizados por jsoup).

Jsoup no maneja con Javascript y Ajax, por lo que debe usar Htmlunit o selenium. Después de cargar la página usando Htmlunit o cualquiera, puede usar jsoup para el rest de la tarea.