0

私は JSoup を使用して、Amazon の特定の Web ページからレビューを取得しています。

    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 などを含まないテキストのみが必要です。次に、このすべての情報をファイルに書き込みたいと思います。これどうやってするの?ありがとう!

4

2 に答える 2

2

使用text()方法

System.out.println(reviews.text());
于 2012-04-11T13:00:21.780 に答える
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;
}

各要素を分析すると、Amazon がレビューのタイトル、レビューの日付、テキストの本文など、保持している情報をさらに細分化していることがわかるはずです。

于 2012-04-11T13:28:29.807 に答える