2012-09-05 4 views
-1

J'essaye d'utiliser JSOUP pour obtenir toutes les balises div avec une classe de cette URL. Je veux faire une liste de tous les noms et prix pour chaque produit. Plus précisément, je suis à la recherche des balises div qui ont class = "nom-article" et class = "article-prix".JSOUP ne renvoie que quelques balises 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()); 

     } 

} 

Quand je lance ce code, il ne retourne pas toutes les balises div avec un attribut de classe, il ne retourne que certains de ceux du haut et quelques-uns du bas de la page. Je suppose que cela a quelque chose à voir avec la façon dont ils gèrent leurs pages Web depuis que je reçois certaines des balises div. J'espérais que quelqu'un pourrait être en mesure de faire la lumière sur pourquoi je reçois seulement quelques-unes des étiquettes div.


EDIT

Ok j'ai décidé d'essayer une nouvelle approche après avoir examiné d'autres articles sur d'autres personnes ayant des pages html incohérentes. Il me semble que cela a quelque chose à voir avec les scripts qui génèrent le code HTML que je cherche. Actuellement j'essaye d'obtenir htmlUnit pour générer la page puis je veux utiliser JSOUP pour l'analyser.

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); 
} 

} 

Lorsque j'exécute ce code, je reçois beaucoup d'erreurs en rouge. Voici les erreurs http://pastebin.com/LHr7R7U1. J'espère que quelqu'un peut m'aider avec un travail autour.

Répondre

0

J'ai trouvé que javascript n'est pas rendu dans mon exemple. Je n'ai pas encore trouvé de moyen de rendre le javascript.

0

essayer avec

Questions connexes