![]() |
AW: Ausführen von Google Suchen
Naja, es gibt auch eine HTTP Download Komponente wenn ich mich richtig erinnere.
Der könnte amn so wie dem Webbrowser die URL füttern und bekäme dann den Inhalt der sonst im Webbrowser angezeigten Ergebnisseite. Halt als HTML... Das müsste man dann parsen... Grüße TurboMagic |
AW: Ausführen von Google Suchen
Hast Du Dir mal im Browser eine Ergebnisseite eine Suche angesehen, als Quelltext? Das ist nichts als ein Wust von Javascript, die Seite wird komplett dynamisch aufgebaut.
|
AW: Ausführen von Google Suchen
Das was du hier machen willst, kannst du mit ShellExecute nicht machen. Das ist in diesem Fall der falsche Ansatz. Du brauchst da einen HTTP-Client, z.B. den bei Delphi enthaltenen THTTPClient ode TNetHTTPClient. Such mal nach "http client" in der Delphi Hilfe.
Wie peterbelow erwähnt hat, wirst du die HTML-Antwort von Google so praktisch nicht nutzen können, weil da alles zur Runtime im Broswer dynamisch per Javascript nachgeladen wird. Google hat hier einen gut Job geleistet, um genau das was du machen willst, nahezu zu verunmöglichen. Google will schliesslich mit der Werbung auf der Suchseite Geld verdienen und dann wäre das ein NoGo, wenn man das einfach so umgehen/missbrauchen könnte. |
AW: Ausführen von Google Suchen
Ich finds gerade nicht aber es gab da mal eine Google API bei der Du dein Request (Die Suche) als Antwort erhalten hast, dazu musste man bei Google Developer einen Account anlegen.
Was hast Du denn vor mit dem Suchergebiss? Ich meine wenn ich "USA" eintippe kommen da eine zillion treffer.... |
AW: Ausführen von Google Suchen
Hallo allerseits,
mein bisheriger Ansatz die Google Suchen in ein Objekt auszugeben, waren denke ich zu kompliziert und vom Ansatz her nicht brauchbar. Ich möchte nachdem die Google Suche stattgefunden hat, diese vom Inhalt überprüfen. Zum Beispiel möchte ich sagen feststellen: Webseite: diesewebseite.de enthält: 27 PDF Dokumente Diese muss ich nicht direkt in einem Objekt in meinem Programm direkt anzeigen. Der Umweg über die Ausgabe der Google Suche in eine Datei mit anschließender Analyse, was die Suche gefunden hat, meine ich könnte sich einfacher gestalten. Jetzt kommt es wieder: Das Ausgeben in eine Datei bekomme ich nicht hin. Mit >> Pfad\Dateiname, sollte es eigentlich gelingen. Hier ein Beispiel, welche nicht funktioniert. Ich habe endlos viele Stellen getestet, die gehen alles nicht. Leider finde ich keine Stelle, wo ich die Umleitung einbauen kann, damit Delphi die auch ausführen kann. ShellExecute( Handle, 'OPEN', PWideChar( 'https://google.com/search?q=' + TURI.URLEncode( 'site:'+edit1.text+ ' '+ 'filetype:doc' ) ),>> c:\test\tt.txt NIL, NIL, SW_SHOWMAXIMIZED ); Vielleicht fehlt auch wieder nur irgendein Hochkomma.....? Viele Grüße JimmyB |
AW: Ausführen von Google Suchen
Zitat:
Man kann zwar die erste Ergebnisseite im Browser selektieren (Strg-A), ins Clipboard kopieren (Strg-C) und von dort extrahieren (sText := Clipboard.AsText; ), aber das gibt wirklich plain text, kein HTML, d.h. auch keine Möglichkeit, Links zu identifizieren und zu verfolgen. |
AW: Ausführen von Google Suchen
Hallo,
so hatte ich es fast schon vermutet. Schade und Danke für die Rückmeldung. Viele Grüße JimmyB |
AW: Ausführen von Google Suchen
Zitat:
Die meisten Browser (on Windows) packen die selektierten Daten auch noch in ein paar anderen Formaten ins Clipboard, ![]() |
AW: Ausführen von Google Suchen
Vielleicht hilft Dir dieser Ansatz etwas weiter, hiermit erhälst du den quelltext einer web-seite.
Delphi-Quellcode:
//edit
uses
System.NetEncoding, IdHttp; ... function GetWebPage(const AURL: string): string; var Remote: TIdHttp; ResponseText: string; begin Result := ''; ResponseText := ''; Remote := TIdHTTP.Create(nil); try Remote.HandleRedirects := True; Remote.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'; ResponseText := Remote.Get(AURL); finally Remote.Free; end; if Length(ResponseText) = 0 then Exit; Result := ResponseText; end; function GetGoogleSearch(const ASearch: string): string; begin Result := GetWebPage('https://www.google.com/search?q=' + TNetEncoding.URL.Encode(ASearch)); end; Ich vermute per XML könnte man sich zum gewünschten Ergebis durchbuddeln, bestimmt auch programmatisch für deinen Zweck automatisieren lassen. Das obige liefert jedenfalls schonmal etwas was zum parsen gebraucht wird :-] |
AW: Ausführen von Google Suchen
Danke für den Ansatz um den Inhalt einer Webseite auszulesen, nur: wenn du mal weiteroben die Posts
list wirst du feststellen, dass das mit der Google Seite eher weniger helfen dürfte, da die scheinbar alle möglichen relevanten Teile per JavaScript nachlädt :-( Daher sollte man wohl das von Google bereit gestellte API benutzen... Mit etwas Glück liefert das dann auch weniger für den Anwendungsfall unnützen Balast mit... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz