0

Java で基本的な「Web 監視ツール」を作成しており、ライブラリjsoupを使用しています。すべて正常に動作しますが、問題は、いつ実際に何かを (ダウンロード) ロードしたかがわからないことです。これを例に取ります。

Long start = System.nanoTime();
Document doc = Jsoup.connect("http://hln.be").get();
Long end = System.nanoTime();
long elapsedTime = end - start;
double seconds = (double) elapsedTime / 1000000000.0;

これは、ページを完全に (ダウンロード) ロードするのにかかった時間を知る正確な方法でしょうか? get() メソッドの定義は次のとおりです。 リクエストを GET として実行し、結果を解析します。

だから私はこれが私が探しているものだと思いますか、それとももっと良い方法がありますか?

同じ質問ですが、画像のみです。実際に PC に画像を保存せずに、すべての画像をダウンロードしたことを確認するにはどうすればよいですか? 私は現在、このようなことをしています。すべての画像 URL のリストを取得してから、for ループに移動します。

url = new URL(element.absUrl("src"));
in = url.openStream();
reader = new BufferedReader(new InputStreamReader(is));

ストリームを開いて BufferedReader で読み取った後、それらを「ダウンロード」したことになりますか? もしそうなら、それらの3行を実行するのにかかる時間を測定して、画像をダウンロードするのにかかる時間を知ることができますか?

私は自分自身を明確にしていることを願っています。

4

1 に答える 1

0

execute()ページをフェッチするだけで、応答を解析しないメソッドを使用できます。

例えば

Document doc = Jsoup.connect("http://hln.be").execute();
于 2013-03-14T23:50:25.283 に答える