我需要来自3个不同站点的前5个jpg类型的图像。目前我正在使用:
Document doc = Jsoup.connect(URL).timeout(10*1000).get();
Elements jpgs = doc.select("img[src$=.jpg]");
从单个站点获取jpgs并将其保存到ArrayList中,然后将它们添加到JPanel中。这意味着我只能使用一个网站,但我希望从3个(或更多)网站获得混合的图像结果。
使用.first然后编写代码来忽略之前抓取的元素将是一个选项,但不是很干净。
任何建议都将不胜感激。
由于
答案 0 :(得分:1)
这是一个可能的解决方案,它只需要将您想要获取内容的网站添加到ArrayList。
连接到某个网站,将所需图像的数量附加到ArrayList images
,然后对要从中获取内容的每个网站重复此过程。
ArrayList<String> sites = new ArrayList<String>();
ArrayList<String> images = new ArrayList<String>();
sites.add("http://google.com);
sites.add("http://facebook.com");
sites.add("http://stackoverflow.com");
int numSites = sites.size();
//number of images you want from each site
int maxNum = 5;
for (int i = 0; i < numSites; i++) {
//iterate through images and save first 5 or however many you choose
for (Elements jpg : jpgs) {
while (maxNum > 0) {
images.add(jpg.attr("abs:src"));
maxNum--;
}
}
然后连接到下一个站点并重复此过程,以了解您希望从哪个站点获取内容。
希望这有帮助。