Google-Suche ist nicht auslesbar?!

Greg50007

Aktives Mitglied
Hallo, ich weiß es gibt schon einige Einträge hier und auch in anderen Foren zu diesem Thema...
Allerdings hab ich da irgendwie ein Problem.

Java:
import java.net.*;
import java.io.*;

public class Test {
    public static void main(String[] args) {

        String url2 = "https://www.google.de/search?q=javaforum"; //Meine URL die ich erst öffne und dann auslesen will!

        String myURL = url2;
        try {
            URL url = new URL(myURL);
            String nullFragment = null;
            URI uri = new URI(url.getProtocol(), url.getHost(), url.getPath(), url.getQuery(), nullFragment);
            WebSuche.openWebpage(uri);//Die Suchseite wird geöffnet
        } catch (MalformedURLException e1) {
            System.out.println("URL " + myURL + " is a malformed URL");
        } catch (URISyntaxException e1) {
            System.out.println("URI " + myURL + " is a malformed URL");
        } catch (@SuppressWarnings("hiding") IOException e) {
            System.out.println("Fehler aufgetreten");
            e.printStackTrace();
        }
       
        //öffnen klappt also...
       
       
        try {
            URL url = new URL(myURL);
            Reader is = new InputStreamReader(url.openStream()); //Nun will ich die Seite auslesen...
            BufferedReader in = new BufferedReader(is);
            for (String s; (s = in.readLine()) != null;) {
                System.out.println(s);//Alles was passiert ist eine Fehlermeldung...
            }

            in.close();
        } catch (MalformedURLException e) {
            System.out.println("MalformedURLException: " + e);
            System.out.println("t");
        } catch (IOException e) {
            System.out.println("IOException: " + e);
            System.out.println("s");
        }

    }
}

Also, das öffnen der Seite klappt aber beim Auslesen kommt nur:
"IOException: java.io.IOException: Server returned HTTP response code: 403 for URL: https://www.google.de/search?q=javaforum"

Am Auslesen direkt kann es nicht liegen da ich z.b wikipedia auch auslesen kann...

Weiß wer eine lösung? oder kann die google-such Seite nicht auslesen?
Mfg. Greg
 
Danke erstmal für die schnelle antwort... aber ich glaub das hilft mir immer noch nicht ganz...
Mein plan war es eigentlich ein Suchbegriff zu suchen und sofern er falsch geschrieben ist die google korrektion bzw. die meißt richtig geschirebenen suchergebnisse zu übernehmen...

die ausgabe die ich jetzt bekomme ist dafür scheinbar nicht geeingnet... eine idee wie ich bestimmte wörter auf ihre Rechtschreibung prüfen kann? (Mein ziel sollen filmtitel sein... also mit groß und kleinschreibung und komma setztung 😵)

mfg. greg
 
Naja das was du dort zurückbekommst kannst du schon verwerten.
Nicht sicher ob das klappt, aber: Schau dir mal XPATH und HTMLCleaner an.. damit solltest du den Output (was ja nichts anders als der HTML-Code ist) durchsuchen können nach Worten wie "Ergebnisse für " (was ja mWn da steht wenn man sich vertippt hat)
 
mhh also erneut danke fü die schnelle antwort... aber irgendwie komme ich damit nicht so zurecht... da ist mehr rot als schwarz und importieren kann ich da auch nicht viel :/ du hättest nicht zufällig zeit um mir ein code beispiel zu schicken?
 
Habt ihr noch ne idee wie ich das filtern kann?
Bis jetzt hab ich das immer mit split () gemacht... aber das sind laut word über 38000 wörter... gibt es da ne Art filter mit der ich das was ich will rausfiltern kann?
 
Wie oben schon mal angedeutet.. du willst die Korrekturhinweise von Google filtern. Gib doch einfach mal bei Google etwas mit Typo ein dann siehst du welchen Text Google ausgibt.
Danach kannst du dann suchen.
 
Mhh...
Einfacher wäre aber doch glaub ich eine art filter der nicht auf groß und Kleinschreibung achtet und mir alle Übereinstimmungen ausgibt, da die Google Suchergebnisse ja immer anders angeordnet sind
 
Also ich habe die website daten jetzt bis auf 80 zeichen reduziert in denen sich das befindet was ich will...
Allerdings weiß ich nicht wie ich den teil da raus bekomme... schließlich ist die groß und kleinschreibung ja anders oder etwas falsch geschrieben... ich bräuchte also eine art vergleich oder? also wenn etwas darauß meinem gesuchten ähnelt soll er das übernehmen. habt ihr dazu ne idee?
lg. greg
 
Naja, derzeit splitte ich nach dem Wort Amazon was natürlich auch nicht optimal ist, da ja nicht jeder film auf amazon verfügbar ist... wenn das aber der Fall ist sieht das etwa so aus:

"Bliblablubb mein Suchwort bliblablubb auf"

Aber optimal wäre ja immer noch ein Filter der z.b diese boxen bei der Google-Suche und dann das entsprechende wort übernimmt.
(Sucht mal einen film auf google... rechts die Info box meine ich)
 
Alles geschafft. Es klappt endlich und ich hab noch einiges dran rumgespielt.
Eine frage hab ich aber noch:

Kennt wer eine API für die Wikipedia infoboxen?

Ich hoffe auch hier etwas von euch zu hören.
MfG greg
 

Zurück
Oben