使用JSoup从Amazon检索评论

时间:2012-04-11 12:33:00

标签: java html jsoup

我正在使用JSoup来审核亚马逊特定网页的评论,我现在拥有的是:

    Document doc = Jsoup.connect("http://www.amazon.com/Presto-06006-Kitchen-Electric-Multi-Cooker/product-reviews/B002JM202I/ref=sr_1_2_cm_cr_acr_txt?ie=UTF8&showViewpoints=1").get();
    String title = doc.title();

    Element reviews = doc.getElementById("productReviews");
    System.out.println(reviews);

这给了我带有评论的html块,但我只想要没有所有标签div的文本等等。我想把所有这些信息写入文件。我怎样才能做到这一点?谢谢!

2 个答案:

答案 0 :(得分:2)

使用text()方法

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

答案 1 :(得分:1)

虽然text()会为您提供大量文字,但您需要先使用jsoup的select(...)方法将问题细分为单独的审核元素。我会给你第一个大分区,但是你可以进一步细分它:

public static List<Element> getReviewList(Element reviews) {
  List<Element> revList = new ArrayList<Element>();
  Elements eles = reviews.select("div[style=margin-left:0.5em;]");
  for (Element element : eles) {
     revList.add(element);
  }
  return revList;
}

如果您分析每个元素,您应该看看亚马逊如何进一步细分所持有的信息,包括评论的标题,评论的日期和它所持有的文本正文。