2016-12-07 10 views
0

В настоящее время я использую разъем JSOUP для получения названия страницы веб-страницы. Но если веб-сайт построен с использованием angularJs, то соединитель JSOUP не сможет получить заголовок, потому что заголовка нет в источнике страницы.Как получить заголовок страницы, построенной с помощью angularJs в java?

try { 
    Document doc=Jsoup.connect("https://support.microsoft.com/en-us/kb/948496").get(); 
    System.out.println(doc.title()); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

Как получить заголовок страницы, если она построена с использованием угловыхJs с использованием java?

+0

Покажите нам код, который вы создали, чтобы сделать это –

ответ

0

Итак, я попытался разобрать angularjs.org используя jsoup и она работает просто отлично:

try { 
    Document doc = Jsoup.connect("https://angularjs.org/").get(); 
    Elements header = doc.select("title"); 
    System.out.println(header.html()); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

дает мне "AngularJS - Superheroic JavaScript MVW Framework"

Не могли бы вы привести пример веб-сайт, который не работает?

EDIT: В your particular case название заполняется динамически. Итак, вопрос заключается не в том, «как разобрать угловой титул сайта», а «как получить динамически созданный заголовок». Я думаю, что jsoup этого не делает. Он просто позволяет вам получить доступ к элементам dom источника веб-страницы. Что вы хотите сделать, это выполнить javascript и получить результат. Я бы посмотрел на некоторые утилиты тестирования (например, Selenium), которые используют фактический браузер для визуализации страницы, а затем получают элементы последнего дерева.

+0

. Попробуйте приведенный выше пример с https://support.microsoft.com/en-us/kb/948496 –

0

Когда ваш браузер загружает эту страницу - https://support.microsoft.com/en-us/kb/948496 также загружает несколько других, среди них https://support.microsoft.com/api/content/kb/948496 который содержит ваш заголовок с селектором .col-xl-20, так что вы можете загрузить страницу с jsoup и вы сделали!

+0

'https://support.microsoft.com/ en-us/kb/948496' является примером, который я дал. Но есть ли какая-либо инфраструктура, доступная в Java, для запуска javascript и получения заголовка страницы. Если быть точным, я хочу, чтобы это была общая программа. –

+0

Существует не общий способ сделать это. Каждый URL-адрес должен обрабатываться отдельно. – TDG