猿问

从网站上仅抓取 3 个项目

我正在尝试使用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);

        }


慕哥6287543
浏览 120回答 2
2回答

一只萌萌小番薯

Elements继承自ArrayList,因此您可以直接访问各个元素。然后,您可以使用常规for循环在一定数量的元素之后停止,或者您可以一次只获取一个元素而无需循环。

慕姐8265434

不要循环遍历整个集合,只需循环 3 次即可。就像是...List<Element> elements = doc.select("div.productWrapper");//Holds number of times to loopint numLoops = 3;//Check to make sure there's enough of the desired number of elementsif(elements.size() < numLoops) {&nbsp; numLoops = elements.size();}//Loop for desired number of timesfor (int i = 0; i < numLoops; i++) {&nbsp; Element row = elements.get(i);&nbsp; Book book = new Book();&nbsp; book.setName(row.select("div.productWrapper").select("a").attr("title"));&nbsp; empikBestsellers.add(book);}
随时随地看视频慕课网APP

相关分类

Java
我要回答