我正在嘗試使用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
提交
取消