Я знаю, что такого вопроса, наверное, задавали здесь раньше, но, выполнив поиск, я не нашел решения:
Мой вопрос: каковы лучшие библиотеки Java для "полной загрузки любой страницы и рендеринга встроенных JavaScript (-ов), а затем программным образом получить доступ к предоставленной веб-странице (это DOM-Tree!)) и получить DOM Tree как" HTML-источник".
(Что-то похожее на то, что делает firebug в конце, оно отображает страницу, и я получаю доступ к полностью отображенному дереву DOM, поскольку страница выглядит как в браузере! В отличие от этого, если я нажму "показать источник", я получаю только Исходный код JavaScript. Это не то, что я хочу. Мне нужно иметь доступ к отображаемой странице...)
(С рендерингом я имею в виду только рендеринг дерева DOM не визуального рендеринга...)
Это не должна быть одна библиотека, это нормально, чтобы иметь несколько библиотек, которые могут выполнить это вместе (один будет загружен, один рендер...), но из-за динамического характера JavaScript, скорее всего, библиотека JavaScript также будет должны иметь какой-то загрузчик, чтобы полностью отобразить любой асинхронный JS...
Фон: В "старые добрые времена" HttpClient (Apache Library) было всем необходимым для создания собственного очень простого искателя. (Много краулеров, таких как Nutch или Heretrix, все еще строятся вокруг этого основного принципа, главным образом сосредоточившись на стандартном разборе HTML, поэтому я не могу учиться у них) Моя проблема заключается в том, что мне нужно сканировать некоторые веб-сайты, которые в значительной степени зависят от JavaScript и что я не могу разобрать с HttpClient, поскольку мне нужно выполнить JavaScripts раньше...
Большое спасибо! Тим