0

私はJavaを使用してWebページからHTMLのチャンクを取得しています。現在、getInputStream()でURLConnectionを使用しています。これは、ページ全体をロードしていて、必要以上に時間がかかります。とにかく、必要なチャンクだけをロードしたり、画像やそれを高速化できるその他のものを除外したりすることはできますか?どんな助けでも大歓迎です。ありがとうございました。

ここにいくつかのコードがあります:

URL page = new URL("http://www.stackoverflow.com");
URLConnection connection = page.openConnection();
String html = getResponseData(connection);


public static String getResponseData(URLConncetion connection) {
StringBuffer sb = new StringBuffer();
InputStream is = connection.getInputStream();
int count;
while((count=is.read()) != -1){
    sb.append((char)count);
}
4

1 に答える 1

1

そのwhileループで実際のデータを見つけて、見つけたらすぐに中止することができると思います。

ちなみに、コードはHTMLのみをロードします。実際の画像ではありません。これらは、ページをリクエストしたときに得られる応答の一部ではありません。

更新:入力ストリームをバッファリングすることもできます。入力が速くなる可能性があります。あなたは次のようにこれを行うことができます

InputStream is = new BufferedInputStream(connection.getInputStream());
于 2012-08-01T14:55:19.040 に答える