そこで、私がアクセスする Web サイトのイメージボードを、よりユーザー フレンドリーなインターフェイスで表示するアプリを作成しています。現時点では多くの問題がありますが、現時点で最大の問題は、画像を取得して表示することです。
私が今持っている方法では、画像はサイズ 12 の GridView に表示され、画像ボードの各ページの画像数を反映しています。Jsoup を使用して、GridView に表示するサムネイル画像の URL のページをスクレイピングし、ユーザーがサムネイルをクリックしたときに表示されるフルサイズの画像の URL を取得しています。
現在の問題は、Jsoup が HTML ページを取得するのに平均で 8 ~ 12 秒かかることです。これは容認できないと思います。これを高速化する方法があるかどうか、またはこれが私には何もできない固有のボトルネックになるかどうか疑問に思っていました。
スクレイピングするページを取得するために使用しているコードは次のとおりです。
try {
Document doc = Jsoup.connect(url).get();
Elements links = doc.select("img[src*=/alt2/]");
for (Element link : links) {
thumbURL = link.attr("src");
linkURL = thumbURL.replace("/alt2/", "/").replace("s.jpg", ".jpg");
imgSrc.add(new Pair<String, String>(thumbURL, linkURL));
}
}
catch {
e.printStackTrace();
}