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 и получаем таблицу с, пока, одним персонажем.
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 и получаем таблицу с, пока, одним персонажем.