Über Java Google Suche nutzen

Diskutiere Über Java Google Suche nutzen im Allgemeine Java-Themen Forum; Hallo, ich hoffe das ist das richtige Unterforum, bin mir nicht ganz sicher wo die Frage einzuordnen ist. Ich möchte ein Tool schreiben, das...

  1. Fbgng
    Fbgng Neues Mitglied
    Hallo,

    ich hoffe das ist das richtige Unterforum, bin mir nicht ganz sicher wo die Frage einzuordnen ist.

    Ich möchte ein Tool schreiben, das eine Anfrage an die Google Bildersuche stellt (nach einem auf dem Rechner gespeicherten Bild soll gesucht werden).

    Wichtigste Frage: Ist sowas überhaupt möglich? Bzw lässt Google das zu, dass man quasi "nicht per Hand" sucht?

    Falls ja:

    Wie realisiert man sowas? Bzw unter welches Thema fällt das überhaupt, damit ich ein bisschen recherchieren kann? Muss ich da sozusagen den Job des Browsers übernehmen und eine HTTP Request senden? Und wenn ja, wie finde ich raus, welche Form das ganze haben muss?

    Danke schonmal im Vorraus :toll:
     
  2. Wenn du jetzt Java lernen möchtest, dann sichere dir hier unseren Java-Videokurs heute zum Sonderpreis (hier klicken!)
  3. turtle
    turtle Neues Mitglied
    Du hast deine eigene Frag beantwortet, oder?;)

    In der Tat musst du einen HTTP Request senden. das kannst du im Prinzip mit jeder Bibliothek machen, die "so auf dem Markt" ist. Ich nehme öfter Apache HTTPComponent
    Weiterhin musst du GENAU auf die Adresszeile im Browser achten, denn so siehst du welche Parameter gesendet werden müssen. Notfalls hilft auch Google weiter?
    Hier mal eine kleines Snippet, das eine "normale" Suche nach Turtle ausführt;)
    Code (Java):
       public static void main(String[] args) throws Exception {
        CloseableHttpClient httpclient = HttpClients.createSystem();
        // @formatter:off
        URI uri = new URIBuilder()
         .setScheme("http")
         .setHost("www.google.de")
         .setPath("/search")
         .setParameter("q", "Turtle")
         .build();
        // @formatter:on
        HttpGet httpget = new HttpGet(uri);
        CloseableHttpResponse httpResponse = httpclient.execute(httpget);
        BufferedReader rd = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent()));

        StringBuffer result = new StringBuffer();
        String line = "";
        while ((line = rd.readLine()) != null) {
            result.append(line);
            result.append("\r\n");
        }
        System.out.println(result);
        }
     
    Zuletzt bearbeitet: 23. Juli 2014
  4. Fbgng
    Fbgng Neues Mitglied
    Vielen Dank für die Antwort. Bin erst jetzt dazu gekommen, damit etwas anzustellen. Allerdings liefert der Code mir nicht den Quellcode zurück, der im Browser angezeigt wird. Es scheint, als würde da nur etwas verkürztes zurückkommen.. Mache das aber auch über die Bildersuche..

    Gibt es evtl noch einen anderen Ansatz, mit vorhandener URL den Quellcode einer Seite auszulesen - so wie das ein Browser etwa machen würde?

    Danke..
     
  5. turtle
    turtle Neues Mitglied
    Ich rate dir, die Antwort mal in eine Datei zu schreiben und dir die dann im Browser anzuzeigen. Klappte bei mir;)
     
  6. Fbgng
    Fbgng Neues Mitglied
  7. dzim
    dzim Bekanntes Mitglied
    Btw: Ich glaube die Coolen Kids verwenden jetzt kein Apache HTTP mehr (oder ist das Spring?), sonder OkHttp! :-D

    Obwohl... Am Ende ist es für solche Sachen wohl doch eher Wumpe... ;-)
     
  8. Thallius
    Thallius Bekanntes Mitglied
    Vergiß nicht dich zu erkundigen wie Dein Vorhaben rechtlich abgesichert ist. Google versteht da keinen Spaß wenn Du dennen einfach Ihre Daten klaust (Auch wenn es anders herum natürlich vollkommen ok ist :D )

    Gruß

    Claus
     
  9. Fbgng
    Fbgng Neues Mitglied
    Danke für die Hinweise. Ja, ob das rechtlich in Ordnung ist, steht natürlich auf einem anderen Blatt.. Google will natürlich, dass man nur über den Browser oder die API auf deren Services zugreift. Aber denkt ihr, die werden da gegen jedes kleine Script etwas unternehmen, was im Monat paar mal auf die Suche zugreift? Ich hoffe mal nicht..

    Im Übrigen klappt das bei mir immer noch nicht - den Quelltext den ich zurückbekomme, ist immer der der Startseite, obwohl die URL definitiv die der Bildersuche ist. Die HTTP Request ist also scheinbar als von einem Programm erkennbar. Kann man das irgendwie ändern?
     
  10. Thallius
    Thallius Bekanntes Mitglied
    Die API nutzen?

    Alles andere ist doch eh Käse. Da ändern die was an Ihrem Ausgabeformat und deine Software läuft nicht mehr.

    Gruß

    Claus
     
  11. Dragonshooter
    Dragonshooter Neues Mitglied
    Hey allerseits,

    ich bin bei meinen Recherchen auf dieses Forum gestoßen. V. a. turtles Hinweise haben mir sehr geholfen. Aber wie kann man mit dem URIBuilder von Apache die Anzahl der Suchergebnisse bestimmen? Ich bekomme momentan nur 12.
    Danke! LG
     
Passende Stellenanzeigen aus deiner Region:





Die Seite wird geladen...

Über Java Google Suche nutzen - Ähnliche Themen

JavaFX Application mit Preloader sauber runterfahren
JavaFX Application mit Preloader sauber runterfahren im Forum AWT, Swing, JavaFX & SWT
TicTacToe-ÜBerprüfung in Java
TicTacToe-ÜBerprüfung in Java im Forum Allgemeine Java-Themen
Abhängigkeiten überprüfen auf Kompatibilität mit einer anderen Java-Version
Abhängigkeiten überprüfen auf Kompatibilität mit einer anderen Java-Version im Forum Deployment
Kotlin/java Übergabeparamter an Programm übermitteln
Kotlin/java Übergabeparamter an Programm übermitteln im Forum JVM Sprachen: Scala, Groovy, Jython...
MySQL Datumsabfrage über ResultSet in Java-Servlet
MySQL Datumsabfrage über ResultSet in Java-Servlet im Forum Java Basics - Anfänger-Themen
Thema: Über Java Google Suche nutzen