# Google-Suche funktioniert nicht



## Guest (29. Aug 2006)

Hallo !

Hier ein klitze kleines Test-Programm zum Abrufen eines Quelltextes:


```
import java.net.*;
import java.io.*;
public class URLTest {

  public static void main(String[] args) {
   try {
    URLConnection uc = new URL("http://www.google.com/").openConnection();
    BufferedReader br = new BufferedReader(new InputStreamReader(uc.getInputStream()));
    while ( br.ready() ) {
     System.out.println(br.readLine()+"\r\n");
    }
   } catch ( Exception e ){
      System.out.println(e.toString());
     }

  }
}
```

Klappt auch.

Wenn ich aber jetzt die 7. Zeile ersetze, und zwar in


```
URLConnection uc = new URL("http://www.google.com/search?hl=de&q=MeinSuchBegriff&btnG=Suche&meta=").openConnection();
```

gibt es eine Exception in der von der HTTP-Fehlermeldung 403 (Forbidden) etwas steht. 

Weiss einer wieso ? Wenn man die Adresse, also http://www.google.com/search?hl=de&q=MeinSuchBegriff&btnG=Suche&meta= , einfach in den Browser einfügt geht es ja ;(


----------



## AlArenal (29. Aug 2006)

Vielleicht mag Google deinen "Browser" nicht?


----------



## RaoulDuke (29. Aug 2006)

Die wollen wohl nicht das man ohne sich anzumelden automatisch generierte Suchabfragen an die schickt. 

Ausserdem isses eh doof die HTML Rückgabe auszuwerten. Google bietet einen SOAP Api an über die man suchen kann, dafür muss man sich allerdings anmelden: http://www.google.com/apis/


----------



## AlArenal (30. Aug 2006)

Beides hängt natürlich zusammen. Google ist keine gemeinnützige Organisation. Die wollen Geld verdienen. Also bieten sie u.a. einige Services als Webservice an und verhindern gleichzeitig mit geeigneten Maßnahmen, dass man deren Nutzung umgehen kann. Die Nutzung der Webservices ist nämlich beschränkt, personalisiert und teilweise bereits kommerzialisiert.


----------



## KSG9|sebastian (30. Aug 2006)

für den privaten gebrauch darfst du 1000querys/tag abfeuern (kostenlos)
alles andere kostet, zudem finde ich die möglichkeiten nicht so bahnbrechend.

Bei google isses total bescheiden nach RSS zu suchen. Yahoo bietet zwar die Möglichkeit nach nem RSS-Format zu suchen, der Witz ist aber dass die URL die später rauskommt nicht die URL zum Feed ist sondern zu der Seite welche den Feed bereitstellt. Total lächerlich...

Find die ganzen APIs (google, yahoo) schön und gut, aber so ein wirklich toller Nutzen ist nicht vorhanden...


----------



## Einwegdose (31. Aug 2006)

Interessant, wusste garnicht das Google da so restriktiv ist. Selbst mit cURL geht es nicht (Ausschnitt):




> H1>Forbidden</H1>Your client does not have permission to get URL <code>/search?hl=de&q=Test&btnG=Suche&meta=</code> from this server.  (Client IP address: xx.xxx.xx.175)
> 
> 
> Please see Google's Terms of Service posted at http://www.google.com/terms_of_service.html
> ...




EDIT:

Man brauch nur einen User-Agent angeben, der an einen bekannten Browser erinnert, dann funktioniert es  :lol: 

z.B. für cURL: 


```
C:\>curl -A Mozilla/Google-Suxx -o c:\ausgabe.txt "http://www.google.de/search?hl=de&q=Test&btnG=Suche&meta="
```


----------



## Partheeus (20. Sep 2006)

Schau mal hier, da hab ich ne Lösung gepostet:

www.java-forum.org/de/viewtopic.php?t=36870


----------

