我正在尝试使用Jsoup.通过这种方式,它刮了我整个网站。我只想抓取3,我尝试了不同类型的 for 循环和不同的组合,但效果不是很好for (Element row : doc.select("div.productWrapper")) { Book book = new Book(); book.setName(row.select("div.productWrapper").select("a").attr("title")); empikBestsellers.add(book); }编辑:这是最好的方法吗?for (int i = 0; i < 3; i++) { Book book = new Book(); book.setName(doc.select("div.productWrapper").get(i).select("a").first().attr("title")); empikBestsellers.add(book); }
2 回答
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
Elements
继承自ArrayList
,因此您可以直接访问各个元素。
然后,您可以使用常规for
循环在一定数量的元素之后停止,或者您可以一次只获取一个元素而无需循环。
慕姐8265434
TA贡献1813条经验 获得超2个赞
不要循环遍历整个集合,只需循环 3 次即可。就像是...
List<Element> elements = doc.select("div.productWrapper");
//Holds number of times to loop
int numLoops = 3;
//Check to make sure there's enough of the desired number of elements
if(elements.size() < numLoops) {
numLoops = elements.size();
}
//Loop for desired number of times
for (int i = 0; i < numLoops; i++) {
Element row = elements.get(i);
Book book = new Book();
book.setName(row.select("div.productWrapper").select("a").attr("title"));
empikBestsellers.add(book);
}
添加回答
举报
0/150
提交
取消