AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ausführen von Google Suchen

Ein Thema von JimmyB · begonnen am 27. Apr 2022 · letzter Beitrag vom 27. Mai 2022
Antwort Antwort
Seite 2 von 3     12 3      
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.824 Beiträge
 
Delphi 12 Athens
 
#11

AW: Ausführen von Google Suchen

  Alt 16. Mai 2022, 19:38
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
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Ausführen von Google Suchen

  Alt 17. Mai 2022, 12:08
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.
Peter Below
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
629 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Ausführen von Google Suchen

  Alt 17. Mai 2022, 16:47
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.

Geändert von Rolf Frei (18. Mai 2022 um 16:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Ausführen von Google Suchen

  Alt 17. Mai 2022, 17:12
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....
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
JimmyB

Registriert seit: 20. Mär 2022
26 Beiträge
 
#15

AW: Ausführen von Google Suchen

  Alt 23. Mai 2022, 13:18
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
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: Ausführen von Google Suchen

  Alt 23. Mai 2022, 16:36
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
Wieso glaubst Du das könnte funktionieren? Zum einen ist redirection eine Funktion des Kommand-Prozessors (cmd.exe), nicht von ShellExecute. Zum anderen kann man nur etwas redirecten, was das gestartete Programm auf stdout ausgibt. Das tut der Browser aber nicht, und den startet ShellExecute um deinen https request auszuführen.

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.
Peter Below
  Mit Zitat antworten Zitat
JimmyB

Registriert seit: 20. Mär 2022
26 Beiträge
 
#17

AW: Ausführen von Google Suchen

  Alt 24. Mai 2022, 10:47
Hallo,

so hatte ich es fast schon vermutet. Schade und Danke für die Rückmeldung.

Viele Grüße
JimmyB
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Ausführen von Google Suchen

  Alt 24. Mai 2022, 11:58
Hallo,

so hatte ich es fast schon vermutet. Schade und Danke für die Rückmeldung.

Viele Grüße
JimmyB
Hey, gib nicht so schnell auf
Die meisten Browser (on Windows) packen die selektierten Daten auch noch in ein paar anderen Formaten ins Clipboard, HTML Format könnte da was für Dich sein.
Peter Below
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: Ausführen von Google Suchen

  Alt 25. Mai 2022, 18:21
Vielleicht hilft Dir dieser Ansatz etwas weiter, hiermit erhälst du den quelltext einer web-seite.

Delphi-Quellcode:
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;
//edit
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 :-]
Gruß vom KodeZwerg

Geändert von KodeZwerg (25. Mai 2022 um 18:32 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.824 Beiträge
 
Delphi 12 Athens
 
#20

AW: Ausführen von Google Suchen

  Alt 26. Mai 2022, 08:32
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...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz