AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Text aus geladener Webseite aus TWebbrowser in Memo (nicht Quelltext!)
Thema durchsuchen
Ansicht
Themen-Optionen

Text aus geladener Webseite aus TWebbrowser in Memo (nicht Quelltext!)

Ein Thema von markusagb · begonnen am 11. Jun 2018 · letzter Beitrag vom 12. Jun 2018
Antwort Antwort
Seite 1 von 2  1 2      
markusagb

Registriert seit: 11. Jun 2018
46 Beiträge
 
#1

Text aus geladener Webseite aus TWebbrowser in Memo (nicht Quelltext!)

  Alt 11. Jun 2018, 16:52
Hallo zusammen,

leider finde ich im Forum dazu keinen Eintrag, nur wie man den Quelltext aus TWebbrowser in ein Memo bekommt - das funktioniert.
Leider wird die Information die ich benötige im Quelltext nicht angezeigt, wohl aber im Webbrowser-Fenster.

Ich müsste also erst einmal in diesem Webbrowser Fenster die Textpassage finden (Anfang Text beginnt mit "Wetter" und ende Text beginnt mit "Morgen", das dazwischen benötige ich).
Wenn diese Textpassage gefunden wurde im Webbrowser (nicht Quelltext), dann müsste ich diese in ein Memo kopieren.

Habe schon viel ausprobiert, ich lande immer wieder beim Quelltext... der mir nichts bringt.

Könnte mir jemand helfen?

Danke schon mal!!

Markus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: Text aus geladener Webseite aus TWebbrowser in Memo (nicht Quelltext!)

  Alt 11. Jun 2018, 17:08
Den offiziellen Weg gehen, denn das Parsen fremder Webseiten ist womöglich garnicht erlaubt.

Viele Webseiten bieten Schnittstellen z.B. via SOAP oder REST an, wo im XML oder JSON dann alles in einem definierten Format zu finden ist.


Beispiel: https://www.delphipraxis.net/externa...S2&forumids=40
$2B or not $2B

Geändert von himitsu (11. Jun 2018 um 17:12 Uhr)
  Mit Zitat antworten Zitat
markusagb

Registriert seit: 11. Jun 2018
46 Beiträge
 
#3

AW: Text aus geladener Webseite aus TWebbrowser in Memo (nicht Quelltext!)

  Alt 11. Jun 2018, 17:13
Danke für die schnelle Nachricht! Müsste ich zwar nicht schreiben, aber die Wetterdaten bekommen wir derzeit immer per Mail - sehr umständlich, deshalb wollen wir diese ja auslesen. Erlaubnis habe ich dazu.

Markus

Ps: Dein Link funktioniert leider nicht

Geändert von markusagb (11. Jun 2018 um 17:24 Uhr)
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.456 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Text aus geladener Webseite aus TWebbrowser in Memo (nicht Quelltext!)

  Alt 11. Jun 2018, 18:12
Irgendwie verstehe ich nur Bahnhof. Wie kann ein WebBrowser etwas anzeigen das nicht im Quelltext steht? Ist das nicht der HTML-Quelltext? Woher soll dann die Anzeige kommen? Oder wird das etwas dynamisch nachgeladen? Dann kann es wohl kaum in einer Mail stehen.
  Mit Zitat antworten Zitat
markusagb

Registriert seit: 11. Jun 2018
46 Beiträge
 
#5

AW: Text aus geladener Webseite aus TWebbrowser in Memo (nicht Quelltext!)

  Alt 11. Jun 2018, 18:21
Lustig, Fragen auf ne Frage zu bekommen...

Der Quelltext beinhaltet nicht die Information die im TWebbrowser angezeigt wird, evtl. dynamische Daten die geladen werden. Deshalb ja das Auslesen aus dem angezeigten Text.

Es geht um den Inhalt der Seite den wir automatisiert auslesen und in unser System einlesen wollen, derzeit bekommen wir das von unserem Anbieter per Mail das wir manuell einpflegen müssen. Leider hat unser Anbieter keine Api und auch sonst keine Ahnung...

Danke an alle die konstruktive Beiträge posten, ich denke ich habe es verständlich ausgedrückt. Profis dürften verstehen was ich benötige.
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
972 Beiträge
 
Delphi 6 Professional
 
#6

AW: Text aus geladener Webseite aus TWebbrowser in Memo (nicht Quelltext!)

  Alt 11. Jun 2018, 19:12
Hmm...

Text aus Webbrowser...

https://www.delphipraxis.net/3547-te...-auslesen.html

Klappt dass nicht?
  Mit Zitat antworten Zitat
markusagb

Registriert seit: 11. Jun 2018
46 Beiträge
 
#7

AW: Text aus geladener Webseite aus TWebbrowser in Memo (nicht Quelltext!)

  Alt 11. Jun 2018, 19:15
Hallo lieber Holger,
das hatte ich als erstes versucht, aber da steht es auch nicht drin
"aText := Browser.OleObject.Document.Body.InnerText"
Ich glaube diese Funktion baut nur den Quellcode um...
Scheint schwieriger zu werden als gedacht...
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#8

AW: Text aus geladener Webseite aus TWebbrowser in Memo (nicht Quelltext!)

  Alt 11. Jun 2018, 19:58
Zwischenablage nutzen, ungetestet ungefähr sowas:
Delphi-Quellcode:
procedure WebbrowserTextKopieren(Sender: TObject);
Var
  i : Integer;
begin
  Webbrowser.ExecWB(OLECMDID_SELECTALL,OLECMDEXECOPT_DODEFAULT);
  Webbrowser.ExecWB(OLECMDID_COPY,OLECMDEXECOPT_DODEFAULT);
  Webbrowser.ExecWB(OLECMDID_CLEARSELECTION,OLECMDEXECOPT_DODEFAULT);
  Memo.PasteFromClipboard;
  // Hier dann im Memo die tatsächlich benötigte Textpassage
  // zwischen Wetter und Morgen suchen.
  i := Pos('Wetter',Memo.Text);
  if i > 0 then Memo.Text := Copy(Memo.Text,i + 6,Length(Memo.Text));
  i := Pos('Morgen',Memo.Text);
  if i > 0 then Memo.Text := Copy(Memo.Text,1,i - 1);
end;
  Mit Zitat antworten Zitat
markusagb

Registriert seit: 11. Jun 2018
46 Beiträge
 
#9

AW: Text aus geladener Webseite aus TWebbrowser in Memo (nicht Quelltext!)

  Alt 11. Jun 2018, 20:07
Danke, das sieht gut aus, ich teste es gleich mal!
Super!!
  Mit Zitat antworten Zitat
markusagb

Registriert seit: 11. Jun 2018
46 Beiträge
 
#10

AW: Text aus geladener Webseite aus TWebbrowser in Memo (nicht Quelltext!)

  Alt 11. Jun 2018, 20:14
Also, selbst damit müsste er ja "alles" ins clipboard holen, tut er aber nicht:

Webbrowser6.ExecWB(OLECMDID_SELECTALL,OLECMDEXECOP T_DODEFAULT);
Webbrowser6.ExecWB(OLECMDID_COPY,OLECMDEXECOPT_DOD EFAULT);
Webbrowser6.ExecWB(OLECMDID_CLEARSELECTION,OLECMDE XECOPT_DODEFAULT);
Memo1.PasteFromClipboard;



Ich habe dann ergänzt:

initialization
OleInitialize(nil);

finalization
OleUninitialize;


Kann manuell aus dem clipboard raus kopieren, aber nicht mit dem code

Habe nun dem Webbrowser den Fokus gegeben mit Webbrowser6.OleObject.Document.body.focus aber das Memo ist leer mit ca. 20 Zeilen...

Geändert von markusagb (11. Jun 2018 um 20:23 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 22:47 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