2014-04-08 3 views
0

웹 사이트에서 데이터를 추출해야하는 API 작업 중입니다.JSOUP으로 데이터 추출하기

웹 사이트 소스 코드 예제 :

<td class="a">Date 1</td> 
<a class = b">Comment</a> 
<a class = b">Comment</a> 
<a class = b">Comment</a> 
<a class = b">Comment</a> 

<td class="a">Date 2</td> 
<a class = b">Comment</a> 
<a class = b">Comment</a> 
<a class = b">Comment</a> 

<td class="a">Date 3</td> 
<a class = b">Comment</a> 
<a class = b">Comment</a> 
<a class = b">Comment</a> 

나는 날짜에 따라 3 별도의 전망에 JSOUP 데이터를 추출하기 위해 찾고 있어요.

그래서 기본적으로 Elements 요소를 사용하고 싶습니다. document.select ("a [class = b]"); 그래서 그것은 날짜 1과 날짜 2, 날짜 2와 날짜 3, 날짜 3 사이의 데이터 만 선택합니다 ...

나는 nextSibling()과 hasNext()를 사용하여 시도했지만 작동하지 않는 것 같습니다.

답변

0

코드 또는 선택자의 조합으로이를 처리 할 수있는 몇 가지 방법이 있습니다. 가장 쉬운 방법은 (제 생각에) 코드에서 작동하는 것입니다 : 당신은 또한 선택 CSS ~를 사용하여 선택기에 뭔가를 할 수 있고,

Elements elements = document.select("a[class=b]"); 
for (Element bElements : elements) { 
    for (Element nextElement = bElements.getNextElementSibling(); !nextElement.className().equalsIgnoreCase("b"); nextElement = nextElement.getNextElementSibling()) { 
      // Do something with this element between the b classes (nextElement) 
    } 
} 

: 특정 TDs를하지만,이 가져 사이 요소를 캡처 할 수 없습니다 지저분한 ...

희망이 도움이!

관련 문제