Загрузка содержимого веб-страницы в строку очень медленная - PullRequest
4 голосов
/ 06 мая 2011

Я загрузил веб-страницу с помощью HttpURLConnection.getInputStream () и для получения содержимого в строку, я делаю следующий метод:

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;
    }

Загрузка страницы быстрая, нообработка для получения содержимого в строку очень медленная.Есть еще один способ быстрее получить содержимое в строку?

Я преобразую его в строку для вставки в базу данных.

Ответы [ 4 ]

2 голосов
/ 06 мая 2011

Чтение в буфер по количеству байтов, а не по произвольным строкам. Одно это должно послужить хорошим началом для ускорения этого процесса, поскольку читателю не нужно будет искать конец строки.

1 голос
/ 06 мая 2011

Используйте вместо StringBuffer.

Изменить для примера:

StringBuffer buffer=new StringBuffer();

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

String result=buffer.toString();
0 голосов
/ 09 августа 2012

Я использую jsoup для получения заданного содержимого страницы, а вот веб-демонстрация на основе jquery и jsoup для перехвата любого содержимого веб-страницы. Вы должны указать идентификатор или класс для содержимого страницы, которое нужно отловить: http://www.gbin1.com/technology/democenter/20120720jsoupjquerysnatchpage/index.html

0 голосов
/ 06 мая 2011

используйте blob / clob, чтобы поместить контент прямо в базу данных. какая-либо конкретная причина для построчно постулировать строку и положить его в базу данных ??

...