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 3 von 3     123   
Benutzerbild von KodeZwerg
KodeZwerg

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

AW: Ausführen von Google Suchen

  Alt 26. Mai 2022, 20:33
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...
Delphi-Quellcode:
function GetTextFromHtml(const AURL: string): string;
var
  Document: IHtmlDocument2;
  WebBrowser: TWebBrowser;
  HiddenForm: TForm;
begin
  Result := '';
  HiddenForm := TForm.Create(nil);
  try
    HiddenForm.Top := 10;
    HiddenForm.Left := 10;
    HiddenForm.Height := 600;
    HiddenForm.Width := 800;
    HiddenForm.Visible := True;
    WebBrowser := TWebBrowser.Create(HiddenForm);
    try
      TWinControl(WebBrowser).Name := 'WebBrowser';
      TWinControl(WebBrowser).Parent := HiddenForm;
      WebBrowser.Silent := True;
      WebBrowser.Visible:= True;
      WebBrowser.Align := alClient;
      WebBrowser.HandleNeeded;
      HiddenForm.InsertControl(WebBrowser);
      WebBrowser.Navigate(AURL);
      Document := WebBrowser.Document as IHtmlDocument2; // Diese
      Result := Trim(Document.Body.innerText); // und diese Zeile bereiten mir noch Kopfschmerzen.
    finally
      HiddenForm.RemoveControl(WebBrowser);
      WebBrowser.Free;
    end;
  finally
    HiddenForm.Free;
  end;
end;

function GetGoogleSearch(const ASearch: string): string;
begin
  Result := GetTextFromHtml('https://www.google.com/search?q=' + TNetEncoding.URL.Encode(ASearch));
end;
Okay, habs gelesen und einen neuen Versuch gebastelt der allerdings bis jetzt nur pure Theorie ist da es nicht so möchte wie ich es gerne hätte.
Zitat:
EAccessViolation:Access violation at address 005F8794 in module 'Project49.exe'. Read of address 00000288
Meine Hauptanwendung ist ein Konsolenprogramm.
In diesem Versuch probiere ich die Google Suche in einem TWebBrowser darzustellen und dann lediglich den dargestellten Text rauszukopieren.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
TurboMagic

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

AW: Ausführen von Google Suchen

  Alt 27. Mai 2022, 11:31
Hallo,

in einem Konsolenprogramm geht sowas wegen fehlender Windows Botschaften bearbeitung (GetMessage/DispatchMessage etc.)
evtl. nicht. Versuch es doch im ersten Schritt mal als GUI Programm.

Abstürzen sollte es als Konsolenprogramm aber trotzdem nicht.

Grüße

TurboMagic
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 11:55 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