我正在尝试使用 JSOUP 从该 URL 获取所有带有类的 div 标签。我想列出每种产品的所有名称和价格。具体来说,我正在寻找具有 class="item-name" 和 class="item-price" 的 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。我希望有人可以帮助我解决问题。