Excel -> Webseiten Formular -> Excel

Sanchezz85

Mitglied
Hallo zusammen,

Situation ist die folgende:
Ich habe ein Excel file in dem mehrere Hundert Begriffe stehen. Jetzt würde ich gerne ein Programm schreiben, das diese Begriffe nacheinander in das Formular einer Webseite eingibt, z.B. in Google.de oder Geizhals.de, und dann "submit" drückt. Anschließend soll beispielsweise bei Google.de die Anzahl der gefundenen Treffer ausgelesen werden und wieder zurück in das Excel file geschrieben werde.

Das "Bearbeiten" des Excel files bekomme ich schon hin, nur habe ich noch keine Ahnung wie man Formulare in Webseiten ausfüllt, diese dann abschickt und anschließend das Ergebnis wieder abfrägt.

So sieht der Anfang aus, oder? nur wie gehts hier weiter? 😉
Oder gibts da noch elegantere, vorgefertigte Lösungen?

Java:
Url url = new Url("http://www.einewebsite.de/");
URLConnection conn = new URLConnection(url);
conn.connect();
InputStream stream = conn.getInputStream();

PS: Grundlagen in java sind vorhanden, hatte es 3 Semester an der Uni...

Viele Grüße,
Sanchezz
 
Du musst zuerst gucken, wie das Formular auf der jeweiligen Seite aufgebaut ist. Die Werte davon musst du dann manuell aus Java schicken. "java send http request" liefert bestimmt brauchbare Beispiele bei google.
 
Hi!
Das Problem ist, dass ich mich zwar mit den Grundlagen in Java auskenne, aber nicht in http oder html.
Wo sehe ich jetzt z.b. wo auf geizkragen.de das Eingabefeld und der "Submit" button ist?

Wenn ich mir den Seitenquelltext dieser Seite anzeigen lasse, dann kommt ja ein ewig langer HTML Code...
 
Soso. Ein bisschen Trefferlisten manipulieren oder Resultate stibitzen, á al Bing... ;-).
Das Problem ist, dass ich mich zwar mit den Grundlagen in Java auskenne, aber nicht in http oder html.
Das ist aber für Dein Vorhaben zwingend notwendig.

"Normalerweise" analysiert man den Seitenquelltext und/oder snifft die Netzwerkpakete mit, schaut, was die Browser versenden und baut die Requests direkt nach.

Eine einfache Google-Suche nach "Hallo Welt" erreicht man mit [c]http://www.google.de/search?q=Hallo+welt[/c]; eine Suche nach "iPod nano" bei geizkragen.de mit [c]http://www.geizkragen.de/suche/ipod%20nano[/c], was dem entspricht, wenn der User auf "Submit" drückt. Hier muss z. B. der Suchstring URL-escaped werden.

Doch das Parsen der Treffer ist etwas heftig geworden. Kommt drauf an, was Du vorhast. Übrigens haben (Preis-)Suchmaschinen nicht sonderlich Interesse daran, dass Ihre Dienste maschinell angetriggert werden...

Übrigens scheint HtmlUnit bei so etwas ganz gute Dienste zu leisten...
 
Zuletzt bearbeitet:
Danke dir! HTML Unit werd ich mir morgen gleich mal anschauen.
Stimmt, bei Google und Geizkragen ist zumindest das abschicken der Suchbegriffe relativ einfach. Aber auf anderen Seiten verändert sich die Url beim abschicken nicht im Bezug auf den Suchbegriff, da steht dann einfach nur "index" als Zusatz.
Und das mit dem Auslesen der "Treffer" hab ich mir auch einfacher vorgestellt. Ich dachte das müsste dann irgendwie im Seitenquelltext der Treffer-seite stehen, aber so leicht ist es anscheinend nicht. Die Ergebnisse werden da irgendwie dynamisch erzeugt, k.a mit Java script oder so?
Die "Bauernlösung" wäre wohl eine Art Makro zu schreiben, das einfach den Browser steuert, oder?
So ähnlich wie in Excel/Vba 😉
Gibts sowas?
 

Neue Themen


Zurück
Oben