07.11.2012 22:56
 0просмотров 18 0

Анализ страницы персонажа.

Мы загрузили html-код страницы. Но вся страница нам не нужна, нам нужна конкретная информация с неё. Что же мы будем сохранять в файл? Допустим – ник и количество набранного тыквиком опыта. Для начала уберём вывод страницы и создадим переменную, в которой мы будем хранить всю эту информацию, назовём её buffer и создадим перед циклом:

String buffer = "";

Для дальнейшего удобства эта переменная сразу инициализируется пустой строкой.
Ник персонажа, страницу которого мы загрузили – Noldor. Открываем файл блокнотом и ищем его. Перед ником мы видим: "mailto=". Проверяем, встречается ли он ещё где-нибудь, убеждаемся, что нет. Значит от него отталкиваться и будем. Создаём проверку, содержится ли этот текст в строке, которую мы сейчас обрабатываем и если да, то обрезаем её до ника. Справа ник ограничивает знак амперсанда. Не забываем, что для того, чтобы файл можно было обрабатывать в Excel, столбики нужно разделять точкой с запятой.  Полностью проверка, выделение нужной подстроки и добавление её к результирующей выглядет так:

if (line.indexOf("mailto=") > -1){
    line = line.substring(line.indexOf("mailto=") + 7);
    if (line.indexOf("'") > 0) line = line.substring(0, line.indexOf("'"));
    else continue;
    buffer += line + ";";
}


Теперь нужно найти, сколько опыта набрал его тыквик. Выполняем аналогичные операции. Здесь мы не будем ограничивать точкой с запятой, так как у нас всего два столбика. Получаем:

if (line.indexOf("Хэллоуин 2012") > -1){
    line = line.substring(line.indexOf("Хэллоуин 2012"));
    line = line.substring(line.indexOf("Очков") + 6);
    line = line.substring(0, line.indexOf("\""));
    buffer += line;
}


Возвращаем расширение файла – csv, выводим после цикла то, что оказалось в переменной buffer и получаем таблицу с, пока, одним персонажем.

Возможность комментировать доступна после регистрации