Hallo zusammen,
ich soll eine Logfile Analyse an einem Logfile einer chinesischen Suchmaschine durchführen.
Die Logfile ist eine Text-Datei die, die Daten in den folgenden 4 Spalten enthält:
IP als Hash || Suchanfrage || Ranking und Klicks || Aufgerufene URL
6583834172867 || [军人同志] || 9 1 || fo.perinetics.net/yi/a1833z4448.html
Ich bin jetzt soweit, dass ich die Daten spaltenweise einlese und als einzelne Strings in einer Array-List speicher.
Als nächstes soll ich den einzelnern User-IDs Suchanfragen zuordnen und so Sessions ausfindig machen. Hier komm ich allerdings nicht wirklich weiter.
Mir ist klar, dass ich die IDs iwie rausholen/identifizieren muss um sie dann mit den Suchanfragen zu vergleichen, aber ich weiß nicht wie. Im folgenden ist der Code, den ich bisher habe.
Wir hatten Java vor 2 Jahren in einem Kurs und seit dem im Studium nichts mehr damit zu tun, dementsprechend fang ich nun quasi von vorne an. Über Hilfe wie es weitergehen kann, wäre ich dankbar.
ich soll eine Logfile Analyse an einem Logfile einer chinesischen Suchmaschine durchführen.
Die Logfile ist eine Text-Datei die, die Daten in den folgenden 4 Spalten enthält:
IP als Hash || Suchanfrage || Ranking und Klicks || Aufgerufene URL
6583834172867 || [军人同志] || 9 1 || fo.perinetics.net/yi/a1833z4448.html
Ich bin jetzt soweit, dass ich die Daten spaltenweise einlese und als einzelne Strings in einer Array-List speicher.
Als nächstes soll ich den einzelnern User-IDs Suchanfragen zuordnen und so Sessions ausfindig machen. Hier komm ich allerdings nicht wirklich weiter.
Mir ist klar, dass ich die IDs iwie rausholen/identifizieren muss um sie dann mit den Suchanfragen zu vergleichen, aber ich weiß nicht wie. Im folgenden ist der Code, den ich bisher habe.
Wir hatten Java vor 2 Jahren in einem Kurs und seit dem im Studium nichts mehr damit zu tun, dementsprechend fang ich nun quasi von vorne an. Über Hilfe wie es weitergehen kann, wäre ich dankbar.
Java:
package analyzer;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class LogfileReader {
private static void ladeDatei(String datName) {
ArrayList<String> array = new ArrayList<String>();
StringTokenizer tk = new StringTokenizer("<data>", "<\t>");
File file = new File(datName);
if (!file.canRead() || !file.isFile())
System.exit(0);
BufferedReader in = null;
try {
in = new BufferedReader(new FileReader(datName));
String zeile = null;
while ((zeile = in.readLine()) != null) {
if (tk.hasMoreTokens()) {
array.add(tk.nextToken());
}
System.out.println("Gelesene Zeile: " + zeile);
}
}
catch (IOException e) {
e.printStackTrace();
}
finally {
if (in != null)
try {
in.close();
}
catch (IOException e) {
}
}
}
public static void main(String[] args) {
String dateiName = "logfile_uni.txt";
ladeDatei(dateiName);
}
}
Zuletzt bearbeitet: