2012-05-30 1 views
0

Я продолжаю работу над проектом, в котором я был в течение некоторого времени, и я изо всех сил пытался вытащить некоторые данные с веб-сайта. На веб-сайте есть iframe, который извлекает некоторые данные из неизвестного источника. Данные в IFRAME в теге что-то вроде этого:Использование java для извлечения единственного значения со страницы html:

<DIV id="number_forecast"><LABEL id="lblDay">9,000</LABEL></DIV> 

Существует множество других хрень над ним, но этот идентификатор DIV/метка является абсолютно уникальным и не используется нигде в коде.

ответ

2

jsoup, вероятно, то, что вы хотите, оно выделяется при извлечении данных из HTML-документа.

Есть много примеров, доступных, показывающие, как использовать API: http://jsoup.org/cookbook/extracting-data/selector-syntax

Процесс будет в два этапа:

  • разобрать страницу и найти URL в IFRAME
  • разбора содержание iframe и извлечение необходимой информации

Код будет выглядеть так:

// let's find the iframe 
Document document = Jsoup.parse(inputstream, "iso-8859-1", url); 
Elements elements = document.select("iframe"); 
Element iframe = elements.first(); 

// now load the iframe 
URL iframeUrl = new URL(iframe.absUrl("src")); 
document = Jsoup.parse(iframeUrl, 15000); 

// extract the div 
Element div = document.getElementById("number_forecast"); 
0

На вашей странице, содержащей источник iframe, вы можете использовать iframe для своего собственного URL-адреса. Этот URL-адрес будет обработан вашим контроллером ouw, который будет читать контент, анализировать его, извлекать все, что вам нужно, и писать в ответ. Если в вашем iframe есть абсолютные ссылки, это должно сработать.

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