Wörter zählen auf Internetseiten... die zweite

Status
Nicht offen für weitere Antworten.

kognitio

Aktives Mitglied
Viele Dank für die bisherige Hilfe, aber es funktioniert immer noch nicht... oder nur zum Teil.
Wenn ich "nur" die Wörter zählen lassen will, mit diesem Code:
Code:
import java.net.*;
import java.io.*;
import java.lang.*;
import java.util.*;

public class alle 
{
     public static void main(String[] args)
	throws Exception 
     {          

         // Liest internetseiten
         URL yahoo = new URL("http://www.google.de");
         URLConnection yc = yahoo.openConnection();
         
         BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
         String inputLine;
                    int noOfWords = 0;
	 while( (inputLine=in.readLine()) != null )
	 {
		 // mit split die einzelnen Wˆrter auslesen

		 String [] einzelneWoerter = inputLine.split( " |=|<|>|\"|:|;|-|#|/|,|;|'|&|\\?|$|_" );
                                        noOfWords += einzelneWoerter.length;
		

		 //mit for-schleife wˆrter quecken...
		 for (int i=0; i < einzelneWoerter.length; i++)
		 {
			 System.out.println( "Wort " + noOfWords +": " + einzelneWoerter[i]);
		 }
	 }
     }
}
dann beginnt er ab Wort 31 und zählt irgenwie wirr nach oben. Er verändert immer die Ausgabezahl, wenn der HTML-Text auf eine neue Zeile springt... und ich habe keine Ahnung warum... im Detail sieht das so aus:
Wort 32:
Wort 32: html
Wort 32:
Wort 32: head
Wort 32:
Wort 32: meta
Wort 32: http
Wort 32: equiv
Wort 32:
Wort 32: content
Wort 32: type
Wort 32:
Wort 32: content
Wort 32:
Wort 32: text
Wort 32: html
Wort 32:
Wort 32: charset
Wort 32: ISO
Wort 32: 8859
Wort 32: 1
Wort 32:
Wort 32:
Wort 32: title
Wort 32: Google
Wort 32:
Wort 32: title
Wort 32:
Wort 32: style
Wort 32:
Wort 32: !
Wort 42: body
Wort 42: td
Wort 42: a
Wort 42: p
Wort 42: .h{font
Wort 42: family
Wort 42: arial
Wort 42: sans
Wort 42: serif
Wort 42: }
Wort 47: .h{font
Wort 47: size
Wort 47:
...

Und wenn ich will, dass er mir noch angibt, welche Wörter wie oft vorhanden waren, nehme ich diesem Code:

Code:
import java.net.*;
import java.io.*;
import java.lang.*;
import java.util.*;

public class alle 
{
     public static void main(String[] args)
	throws Exception 
     {


                


         // Liest internetseiten
         URL yahoo = new URL("http://www.google.de");
         URLConnection yc = yahoo.openConnection();
         
         BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
         String inputLine;
                    int noOfWords = 0;
                    Treemap allWords = new TreeMap();
	 while( (inputLine=in.readLine()) != null )
	 {
		 // mit split die einzelnen Wˆrter auslesen

		 String [] einzelneWoerter = inputLine.split( " |=|<|>|\"|:|;|-|#|/|,|;|'|&|\\?|$|_" );
                                        noOfWords += einzelneWoerter.length;
		

		 //mit for-schleife wˆrter quecken...
		 for (int i=0; i < einzelneWoerter.length; i++){
                                        if (allWords.containsKey(einzelneWoerter[i]) {
                 
                                            int number = ((Integer)allWords.get(einzelneWoerter[i])).intValue;
                                            allWords.put(einzelneWoerter[i], new Integer(number +1);
                                            }
                                            else {
                                            allWords.pit{einzelneWoerter[i], new Integer(1);
		 {
			 System.out.println( "Wort " + noOfWords +": " + einzelneWoerter[i]);
		 }
	 }
     }
}
und hier gibt es mir die Fehlermeldung:
alle.java:42: ')' expected
if (allWords.containsKey(einzelneWoerter) {
^
alle.java:54: illegal start of expression
}
^
alle.java:54: '}' expected
}
^
3 errors


und ich habe keine Ahnung warum?
Für Hilfen wäre ich sehr dankbar...
Herzliche Grüße,
Stephan

EDIT: BITTE BENUTZE DEN CODE TAG FÜR JAVA CODE !
 
R

Roar

Gast
bessere möglichket:
du lädst den html quelltext von der website, filterst das html da raus ( mit HTMLParser oder so, die klassen kenn ich noch nicht) und das was übrig bleibst jagst du durch nen StringTokenizer, und die anzahl der einzelnen wörter bekommst du durch countTokens()
 
B

bygones

Gast
zu 1).

war mein Fehler:
schmeiß
Code:
noOfWords += einzelneWoerter.length;
weg !

Code:
for (int i = 0; i < einzelneWoerter.length; i++) {
   if(!einzelneWoerter[i].equals("")) {
      noOfWords++;
      System.out.println("Wort " + noOfWords + ": " + einzelneWoerter[i]);
   }
}

zu 2 find mer auch noch was :)
 
B

bygones

Gast
du hast beim 2. Fehler einige Klammern falsch gesetzt:

Code:
public static void main(String[] args) throws Exception {
		// Liest internetseiten
		URL yahoo = new URL("http://www.google.de");
		URLConnection yc = yahoo.openConnection();

		BufferedReader in =
			new BufferedReader(new InputStreamReader(yc.getInputStream()));
		String inputLine;
		int noOfWords = 0;
		TreeMap allWords = new TreeMap();
		while ((inputLine = in.readLine()) != null) {
			// mit split die einzelnen Wˆrter auslesen

			String[] einzelneWoerter =
				inputLine.split(" |=|<|>|\"|:|;|-|#|/|,|;|'|&|\\?|$|_");
			noOfWords += einzelneWoerter.length;

			//mit for-schleife wˆrter quecken...
			for (int i = 0; i < einzelneWoerter.length; i++) {
				if (allWords.containsKey(einzelneWoerter[i])) {

					int number = ((Integer) allWords.get(einzelneWoerter[i])).intValue();
					allWords.put(einzelneWoerter[i], new Integer(number + 1));
				}
				else {
					allWords.put(einzelneWoerter[i], new Integer(1));
				}

				System.out.println("Wort " + noOfWords + ": " + einzelneWoerter[i]);

			}
		}
	}
Kannst das mal mit deinen Code vergleichen und die falschen Klammern suchen :)
 

kognitio

Aktives Mitglied
vielen herzlichen Dank an deathbyaclown. Jetzt zählt er, so wie er sollte... bei den vielen Klammern kommt man sehr schnell durcheinander :)
Zu der Worthäufigkeit zerbreche ich mir jetzt nun erst einmal den Kopf und schau mal, ob ich das auch so hinbekomme.
Also nocheinmal, herzlichen Dank...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Z Satz aufteilen und die Wörter zählen (HashMap) Java Basics - Anfänger-Themen 15
B Collections Java Wörter in String zählen und geordnet ausgeben Java Basics - Anfänger-Themen 10
A Text teilen und Wörter zählen Java Basics - Anfänger-Themen 7
B Input/Output Wörter zählen & sortieren Java Basics - Anfänger-Themen 9
S Buchstaben/Wörter im String zählen Java Basics - Anfänger-Themen 6
J Wörter in einem string zählen und die anzahl zurückgeben Java Basics - Anfänger-Themen 4
S Wörter zählen Java Basics - Anfänger-Themen 19
N Wörter zählen im String Java Basics - Anfänger-Themen 3
G Wörter Zählen Java Basics - Anfänger-Themen 11
J Wörter im String zählen Java Basics - Anfänger-Themen 4
P wörter im string zählen Java Basics - Anfänger-Themen 9
G Häufigkeit der Wörter einer Webseite zählen Java Basics - Anfänger-Themen 7
julian0507 Wörter einlesen lassen und rückwärts ausgeben Java Basics - Anfänger-Themen 7
B String - Wörter finden, welches Punkt und entsprechender Pre / Suffix hat? Java Basics - Anfänger-Themen 30
M Regex für bestimmte Wörter bzw. bestimmte Zeichen erstellen Java Basics - Anfänger-Themen 5
N Wörter und Zahlen nach speziellen Wörtern ausgeben Java Basics - Anfänger-Themen 11
S spezielle Wörter aus Liste entfernen Java Basics - Anfänger-Themen 2
J Wörter aus Textdatei suchen Java Basics - Anfänger-Themen 2
CptK Datentypen Verdrehte Wörter wieder herstellen Java Basics - Anfänger-Themen 21
CptK Variablen Wörter erschließen Java Basics - Anfänger-Themen 7
B String: suche nach Wörter und in List<String> speichern Java Basics - Anfänger-Themen 3
Orkanson Methoden String in Wörter zerlegen und Endungen der Wörter überprüfen. Java Basics - Anfänger-Themen 4
JavaNewbie2.0 Tausende Wörter in Arrays automatisch einfügen Java Basics - Anfänger-Themen 10
E Datei einlesen und bestimmte Wörter ausgeben Java Basics - Anfänger-Themen 2
DestinatioN Problem beim splitten eines Satzes in Wörter und die Wörter in Buchstaben Java Basics - Anfänger-Themen 2
A Wie am effizientesten bzw. schnellsten Namen/Wörter sortieren? Java Basics - Anfänger-Themen 1
I String teilen und zwei Wörter generieren Java Basics - Anfänger-Themen 1
I String trennen und verschiedene Wörter holen Java Basics - Anfänger-Themen 6
T Eingegebene Wörter ausgeben? Java Basics - Anfänger-Themen 3
T Wörter mit @ als Zeichen finden Java Basics - Anfänger-Themen 13
J Alle Wörter der Länge n mit 0 und 1 Java Basics - Anfänger-Themen 17
G wörter speichern Java Basics - Anfänger-Themen 12
T Erste Schritte einzelne Wörter aus textdatei lesen... Java Basics - Anfänger-Themen 4
C Wörter aus einer txt datei lesen Java Basics - Anfänger-Themen 19
C String Arrays - häufigste Wörter Java Basics - Anfänger-Themen 10
T Erste Schritte Eingelesenen Satz - Wörter und Leerzeichen getrennt in 2x Array's Java Basics - Anfänger-Themen 7
K Anzahl Wörter in Zeile Java Basics - Anfänger-Themen 24
F wörter trennen und in txt-file schreiben Java Basics - Anfänger-Themen 5
J Von einem String einzelne Wörter speichern Java Basics - Anfänger-Themen 6
R Wörter-KarteiSystem/Vokabel Trainer Source Fragen Java Basics - Anfänger-Themen 9
A Wörter umgekehrten Reihenfolge ausgeben Java Basics - Anfänger-Themen 3
P Zwei Wörter vergleichen Java Basics - Anfänger-Themen 11
Screen Wie lese ich Wörter ein? Java Basics - Anfänger-Themen 6
C Wörter suchen Java Basics - Anfänger-Themen 4
M Anzahl von Wörter in einer eingelesenen Datei Java Basics - Anfänger-Themen 10
S Regex, Wörter ersetzen Java Basics - Anfänger-Themen 2
S Welche Bedeutung haben diese Wörter? Java Basics - Anfänger-Themen 2
S Zeilen, Zeichen, Wörter Java Basics - Anfänger-Themen 3
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
M Häufigkeit von Wörtern zählen Java Basics - Anfänger-Themen 6
Cassy3 Binäre Bäume Rekursiv durchlaufen und bestimmte Elemente Zählen Java Basics - Anfänger-Themen 6
D spezifische Knoten in einem Baum zählen Java Basics - Anfänger-Themen 9
F Werte in einer Arraylist Zählen Java Basics - Anfänger-Themen 2
S Java Methodenaufrufe zählen Java Basics - Anfänger-Themen 4
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
S Methoden Methodenaufruf rekursiv zählen Java Basics - Anfänger-Themen 4
J Methoden Positive Werte zählen Java Basics - Anfänger-Themen 3
H Buchstaben zählen Java Basics - Anfänger-Themen 9
Poppigescorn Häufigkeit einer zahl zählen Java Basics - Anfänger-Themen 5
HighLife Bestimmte Werte aus Array zählen Java Basics - Anfänger-Themen 15
O Attribute die Methoden zählen Java Basics - Anfänger-Themen 5
X Game of Life Nachbarn zählen Java Basics - Anfänger-Themen 20
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
S Binärbäume knoten zählen Java Basics - Anfänger-Themen 16
K Counts zählen Java Basics - Anfänger-Themen 23
Kirby.exe Anzahl vorkommender Elemente im Array zählen Java Basics - Anfänger-Themen 9
J Zeichen im String zählen Java Basics - Anfänger-Themen 3
G Binärer Suchbaum Knoten zählen Java Basics - Anfänger-Themen 1
N Zeichen in einem Textfeld zählen und hinterlegen Java Basics - Anfänger-Themen 6
E Knoten eines Baumes unter Bedinung zählen Java Basics - Anfänger-Themen 2
T x Schritte zählen Java Basics - Anfänger-Themen 18
P Schlüsselworte Zählen und Zuweisen von eingelesenen Zahlen Java Basics - Anfänger-Themen 1
A In einem String alle Eigennamen zählen Java Basics - Anfänger-Themen 6
L Baum Knoten zählen Java Basics - Anfänger-Themen 6
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
S Zählen der Zeiger auf Objekte Java Basics - Anfänger-Themen 35
S Zeichen zählen kopierter Text Java Basics - Anfänger-Themen 6
B Array - die Häufigkeit der Zahl zählen Java Basics - Anfänger-Themen 9
L Vorherige Objekte zählen und ausgeben Java Basics - Anfänger-Themen 11
L Diphthonge zählen... Java Basics - Anfänger-Themen 5
O ELOPS Zählen Java Basics - Anfänger-Themen 1
S Rekursives Zählen einer Zahl Java Basics - Anfänger-Themen 8
X Quick Sort - Vergleichsoperationen zählen Java Basics - Anfänger-Themen 0
K alle Vorkommen einer bestimmten Ziffer in einer Zahl zählen Java Basics - Anfänger-Themen 2
O Großbuchstaben im Satz zählen Java Basics - Anfänger-Themen 6
S zahl hoch und runter zählen per button Java Basics - Anfänger-Themen 25
N Zählen von Rationalen Werten eines Arrays Java Basics - Anfänger-Themen 10
Y for-Schleife zählen Java Basics - Anfänger-Themen 6
K Probleme mit Sortieren und dem Zählen Java Basics - Anfänger-Themen 13
S Vererbung Objekte von Ober - und Unterklassen zählen Java Basics - Anfänger-Themen 3
F SubString in String zählen Java Basics - Anfänger-Themen 3
C Im Array zählen und verändern Java Basics - Anfänger-Themen 5
O Zählen der while-Scheife Java Basics - Anfänger-Themen 3
P bytes aus einem InputStream zählen Java Basics - Anfänger-Themen 2
G Erste Schritte Einen Array absuchen und Buchstaben zählen Java Basics - Anfänger-Themen 17
F Problem mit Tabulatoren bei Zeilen zählen einer Textdatei Java Basics - Anfänger-Themen 17
F Textdatei einlesen und Zeilen zählen Java Basics - Anfänger-Themen 10
D Groß/KleinBuchstaben zählen Java Basics - Anfänger-Themen 21
D Buchstabe zählen/mappen Java Basics - Anfänger-Themen 3
S Anzahl unterschiedlicher Elemente zählen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben