我正在使用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的文本等等。我想把所有这些信息写入文件。我怎样才能做到这一点?谢谢!
答案 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;
}
如果您分析每个元素,您应该看看亚马逊如何进一步细分所持有的信息,包括评论的标题,评论的日期和它所持有的文本正文。