2012-10-31 2 views
0

jsoup를 사용하여 "10 - 50"텍스트를 인쇄하려고하는데 제대로 가져올 수 없습니다. 여기에 HTML 코드이다 : 나는이 코드를 시도했습니다데이터 가져 오기

<dd> 
     <time itemprop="datePublished">21 October 2012</time> 
     </dd> 
     <dt> 
     Current Version: 
     </dt> 
     <dd itemprop="softwareVersion"> 
     1.0 
     </dd> 
     <dt itemprop="operatingSystems" content="Android"> 
     Requires Android: 
     </dt> 
     <dd> 
     2.3.3 and up 
     </dd> 
     <dt> 
     Category: 
     </dt> 
     <dd> 
     <a href="xxx">Entertainment</a> 
     </dd> 
     <dt> 
     Installs: 
     </dt> 
     <dd itemprop="numDownloads"> 
     10 - 50 
     <div class="normalized-daily-installs-chart" style="width: 105px;"> 
     <img src="xxx" /> 
     <p>last 30 days</p> 
     </div> 
     </dd> 
     <dt> 
     Size: 
     </dt> 
     <dd itemprop="fileSize"> 
     12M 
     </dd> 

하지만 인쇄 - 나는 단순히 문자열을 인쇄 할 "1.0 10 50 지난 30 일 12M € 0.69 모든 사람"

import java.io.IOException; 
import java.io.InputStream; 

import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 
import org.jsoup.select.Elements; 

public class googletest { 
    public static void main(String[] args) throws IOException { 

     Document doc = Jsoup 
       .connect("private url" 
         ) 
       .get(); 
     Elements spans = doc.select("dd[itemprop]"); 
     System.out.println(spans.text()); 

    } 

} 

10 - 50 그 자체로 다른 가치는 없습니다, 고마워요.

+0

내가 편집 한 질문 –

답변

1

시도하십시오. 먼저, itemprop이 numDownloads ex [itemprop=numDownloads]과 같은 요소 만 반환하도록 선택 식을 강화해야합니다. 이제 spans 변수에 요소가 하나만있는 요소 컬렉션이 있어야합니다. spans.first()을 사용하여이 요소에 액세스 할 수 있습니다. 단일 요소가 있으면 ownText() 메서드를 사용하여 요소의 직접 하위 요소 인 텍스트를 반환 할 수 있습니다 (다른 자식 요소의 텍스트는 사용하지 않음).

public class googletest { 
    public static void main(String[] args) throws IOException { 

     Document doc = Jsoup 
       .connect("private url" 
         ) 
       .get(); 
     Elements spans = doc.select("dd[itemprop=numDownloads]"); 
     System.out.println(spans.first().ownText()); 

    } 

} 
0

나는 두 가지 문제를 참조

Element dts = doc.select("dd[itemprop]").get(0); 
    System.out.println(dts.text());