2012-09-05 53 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

我发现,它不是在我的例子中呈现的JavaScript。我还没有找到一种方法来呈现JavaScript。

0

试用WebClient webClient = new WebClient(BrowserVersion.FIREFOX_10);