2012-09-05 2 views
-1

JSOUP을 사용하여이 URL의 클래스로 모든 div 태그를 가져 오려고합니다. 각 제품의 모든 이름과 가격 목록을 만들고 싶습니다. 특히 class = "item-name"및 class = "item-price"인 div 태그를 찾고 있습니다.JSOUP는 일부 div 태그 만 반환합니다.

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

     Document doc = Jsoup.connect("http://www.games-workshop.com/gws/catalog/listProducts.jsp?catId=cat440176a").get(); 

     Elements content = doc.select("div[class]"); 

     for(Element src : content) { 

       System.out.println(src.text()); 

     } 

} 

나는 그것이 클래스로 div 태그를 모두 반환하지 않습니다이 코드를 실행하면 그것은 단지 페이지 하단에서 상단에서 사람의 약간의 일부를 반환 때문이다. 나는 div 태그를 얻고 있기 때문에 이것이 웹 페이지를 다루는 방식과 관련이 있다고 가정하고있다. 나는 div 태그의 일부만 얻는 이유에 대해 어떤 사람들이 밝힐 수 있기를 희망했다.


편집

가 좋아 나는 일관성이 HTML 페이지를 가진 다른 사람에 대한 몇 가지 다른 기사보고 후 새로운 접근 방식을 바꾸기로했습니다. 그것은 나에게 내가 찾고있는 HTML을 생성하는 스크립트와 관련이있는 것으로 보인다. 현재 나는 페이지를 생성하기 위해 htmlUnit을 얻으려고 노력하고있다. 그런 다음 JSOUP을 사용하여이를 구문 분석하려고한다.

public static void main(String[] args) throws IOException { 
        WebClient webClient = new WebClient(); 
     webClient.setCssEnabled(true); 
     webClient.setAppletEnabled(true); 
     webClient.setJavaScriptEnabled(true); 
     webClient.setTimeout(7000); 
     WebRequest request = new WebRequest(new URL("http://www.games-workshop.com/gws/catalog/listProducts.jsp?catId=cat440176a")); 
     Page page = webClient.getPage(request); 
        String webpage = page.getWebResponse().getContentAsString(); 

        System.out.println(webpage); 
} 

} 

이 코드를 실행할 때 많은 오류가 발생합니다. 다음은 오류 http://pastebin.com/LHr7R7U1입니다. 나는 어떤 사람이 저의 일을 도와 줄 수 있기를 바랍니다.

답변

0

자바 스크립트가 내 예제에서 렌더링되지 않은 것으로 나타났습니다. 아직 자바 스크립트를 렌더링하는 방법을 찾지 못했습니다.

0

시도해보십시오. WebClient webClient = new WebClient(BrowserVersion.FIREFOX_10);