2014-04-02 4 views
0

Я пытаюсь извлечь конкретный контент в html с помощью Jsoup. Ниже приведен пример содержимого html.Parsing html, jsoup

<span style="white-space:nowrap;"> 
       <a class="CategoryTitle ArticleAllDC" title="рубрика" href="http://tlt.ru/articles.php?category=3">Культура</a> 
       <span class="ArticleMainDCnew ArticleAllDC" title="источник">&nbsp;/&nbsp;TLT.ru</span> 
       <span class="ArticleMainDCnew ArticleAllDC" title="дата время [просмотры] (комментарии)">&nbsp;/&nbsp;02.04 12:35 [85] (0)</span> 
      </span> 
     </p> 

Я хочу, чтобы получить 02.04 12:35 [85] (0). Помогите мне, пожалуйста, как я могу это сделать?

ответ

1

Самый простой способ без каких-либо оптимизаций:

String input = "<span style=\"white-space:nowrap;\">" + 
      "    <a class=\"CategoryTitle ArticleAllDC\" title=\"рубрика\" href=\"http://tlt.ru/articles.php?category=3\">Культура</a>" + 
      "    <span class=\"ArticleMainDCnew ArticleAllDC\" title=\"источник\">&nbsp;/&nbsp;TLT.ru</span>" + 
      "    <span class=\"ArticleMainDCnew ArticleAllDC\" title=\"дата время [просмотры] (комментарии)\">&nbsp;/&nbsp;02.04 12:35 [85] (0)</span>" + 
      "   </span>" + 
      "  </p>"; 
Document d = Jsoup.parse(input); 
Elements elements = d.select("span[title^=дата]"); 
System.out.println(elements.get(0).html().replaceAll("&nbsp;/&nbsp;","")); 

Выход:

02.04 12:35 [85] (0) 

P.S. В случае Android вы должны использовать класс Log для получения вывода

0

В свое время здесь, в Oodles Technologies, я кое-что узнал о разборе. Я могу добавить здесь.

Вот шаги: -

Шаг 1. Загрузите jsop jar файл с http://jsoup.org/download и добавьте его в свой проект grails/java.

Шаг-2. использование следующий код для разбора HTML

String url = 'www.surveymyapp.com' // html file url 
def htmlPage = Jsoup.connect(url).get() // parse html from url 

Шаг-3. Теперь мы можем вызвать другой метод jsoup для получения данных.

, например - Чтобы получить данные по сНу именем 'divName'

def divData = htmlPage.select("div.divName").first().toString().text() 

Чтобы получить источник изображения 'логотип'

def imageSrc = detailsInfo.select("img.logo").attr("src")