Jsoupでサイトから選択した数の画像を取得する

私は3つの異なるサイトからのタイプjpgの最初の5つのイメージが必要です。現在私は使用しています:

Document doc = Jsoup.connect(URL).timeout(10*1000).get();
Elements jpgs = doc.select("img[src$=.jpg]");

単一のサイトからjpgを取得し、それらをArrayListに保存してJPanelに追加するにはこれは私が1つのサイトしか使用できないことを意味しますが、私は3つ(またはそれ以上)のサイトからのイメージを混在させたいと思います。

.firstを使用して、以前に取得した要素を無視するコードを書くことは1つの選択肢になりますが、あまりクリーンではありません。

どんな提案も大歓迎です。

ありがとう

0

1 答え

これは可能な解決策です。コンテンツを取得したいサイトをArrayListに追加するだけです。

サイトに接続し、 ArrayList images に追加する画像の数を追加し、コンテンツを取得するサイトごとにこのプロセスを繰り返します。

ArrayList sites = new ArrayList();
ArrayList images = new ArrayList();  
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--;
      }
}

次に、次のサイトに接続し、コンテンツを取得したいサイトの数をこのプロセスで繰り返します。

お役に立てれば。

1
追加された