6

HttpURLConnection.getInputStream() を使用して Web ページをダウンロードし、コンテンツを文字列に取得するには、次の方法を実行します。

String content="";
isr = new InputStreamReader(pageContent);
br = new BufferedReader(isr);
try {
    do {
            line = br.readLine();
            content += line;
        } while (line != null);
        return content;
    } catch (Exception e) {
        System.out.println("Error: " + e);
        return null;
    }

ページのダウンロードは高速ですが、コンテンツを String に取得する処理は非常に低速です。コンテンツを文字列に取得するための別の方法はありますか?

これを String に変換してデータベースに挿入します。

4

4 に答える 4

2

行のような任意のものではなく、バイト数でバッファに読み込みます。読者が行の終わりを見つける必要がないので、それだけでこれをスピードアップするための良いスタートになるはずです。

于 2011-05-06T17:59:32.917 に答える
1

StringBuffer代わりに使用してください。

例を編集します。

StringBuffer buffer=new StringBuffer();

for(int i=0;i<20;++i)
  buffer.append(i.toString());

String result=buffer.toString();
于 2011-05-06T17:59:34.693 に答える
0

blob / clobを使用して、コンテンツをデータベースに直接配置します。文字列を1行ずつまとめてデータベースに入れる特別な理由はありますか?

于 2011-05-06T17:58:43.477 に答える
0

私は jsoup を使用してページの指定されたコンテンツを取得しています。これは、jquery と jsoup に基づいて Web ページのコンテンツをキャッチする Web デモです。キャッチする必要があるページ コンテンツの ID またはクラスを指定する必要があります: http: //www.gbin1.com/technology/democenter/20120720jsoupjquerysnatchpage/index.html

于 2012-08-09T14:39:01.770 に答える