Hallo,
ich habe eine Frage zu einem Problem.
Meine Aufgabe: Google's PageRank nachbilden in Java. ( in vereinfachter Version )
Ich lese Websiten ein und speichere diese mit Link in einer MYSQL Datenbank ab.
Nun muss ich die Anzahl der Links zu anderen Knoten bestimmen.
Dass Problem ist es soll nur 1 mal der Counter++; erhöht werden, auch wenn der
Link mehrmals vorkommt.
Leider habe ich im Moment keine Idee wie ich dies mache.
Hier mein Code zum Auslesen der Links:
Danke schonmal im Vorraus.
ich habe eine Frage zu einem Problem.
Meine Aufgabe: Google's PageRank nachbilden in Java. ( in vereinfachter Version )
Ich lese Websiten ein und speichere diese mit Link in einer MYSQL Datenbank ab.
Nun muss ich die Anzahl der Links zu anderen Knoten bestimmen.
Dass Problem ist es soll nur 1 mal der Counter++; erhöht werden, auch wenn der
Link mehrmals vorkommt.
Leider habe ich im Moment keine Idee wie ich dies mache.
Hier mein Code zum Auslesen der Links:
Danke schonmal im Vorraus.
Java:
int linkCounter=0;
try {
BufferedReader in = new BufferedReader(new FileReader(link)); // Zeile wird eingelesen und einem String zugeordnet
String zeile = null;
int z=1;
while ((zeile = in.readLine()) != null) { // nun wird die Zeile nach Links durchsucht.
Pattern linkPattern = Pattern.compile("\\s*(?i)href\\s*=\\s*(\"([^\"]*\")|'[^']*'|([^'\">\\s]+))", Pattern.CASE_INSENSITIVE|Pattern.DOTALL);
Matcher pageMatcher = linkPattern.matcher(zeile);
while(pageMatcher.find()){
links.add(pageMatcher.group());
linkCounter++;
}
z++;
}
} catch (IOException e) {
e.printStackTrace();
}