Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Daten aus dyn. erzeugten URL mittels WinINet extrahieren ? (https://www.delphipraxis.net/111282-daten-aus-dyn-erzeugten-url-mittels-wininet-extrahieren.html)

FrankBKK 1. Apr 2008 15:23


Daten aus dyn. erzeugten URL mittels WinINet extrahieren ?
 
Hallo zusammen,

ich soll aus einer dynamisch generierten Seite einige Werte extrahieren -
damit meine ich, die im Browser angezeigten Texte, nicht die HTML Codes
mit denen die Seite generiert wird.

Mit der folgenden kleinen Funktion die ich im Web gefunden habe, klappt
das zwar ganz gut, aber nur eben hab ich da nicht die Daten selbst,
sondern nur den Code mit dem die Seite erzeugt wird, d.h. fur statische
HTML Seiten funktionierts, nicht aber fuer Seiten die Daten z.B. aus
einer Datenbank dynamisch anzeigen.

Das ganze soll mittels der WinINet.dll realisiert werden.

Kann mir da bitte jemand auf die Spruenge helfen oder ein Bsp. liefern ?

Code:
function LoadURL(URL: String): String;
var
  IOpen, IURL: HINTERNET;
  Read: Cardinal;
  Msg: array[0..4096] of Char;
begin
   // Load a Internet HTML-page into a string
  Result := '';
  try
    IOpen := InternetOpen('GetIP', INTERNET_OPEN_TYPE_PRECONFIG, '', '',
        INTERNET_FLAG_NEED_FILE);
    if IOpen <> nil then
    try
      IURL := InternetOpenUrl(IOpen, PAnsiChar(URL), nil, 0,
          INTERNET_FLAG_NO_UI or INTERNET_FLAG_PRAGMA_NOCACHE or INTERNET_FLAG_RELOAD, 0);
      if IURL <> nil then
      try
        repeat
          FillChar(Msg, SizeOf(Msg), 0);
          if InternetReadFile(IURL, @Msg[0], Pred(SizeOf(Msg)), Read) then
            Result := Result + Msg
          else
            Break;
        until Read = 0;
      finally
        InternetCloseHandle(IURL);
      end;
    finally
      InternetCloseHandle(IOpen);
    end;
  except
  end;
end;

stz 1. Apr 2008 16:29

Re: Daten aus dyn. erzeugten URL mittels WinINet extrahieren
 
IMHO kann WinINet.dll nur HTTP. Das heißt also, wenn die dynamischen Daten tatsächlich über DHTML oder irgendein anderes client seitiges Verfahren angezeigt werden, hasst du über diesen Weg keine Chance. In dem Fall sieh dir mal Hier im Forum suchenTWebBrowser an.
Dynamische Daten können aber auch serverseitig z.B. über PHP eingebunden werden und dann erhälst du mit dem geposteten Code bereits den Quelltext inklusive aller dynamisch eingefügten Inhalte, da dass Script, dass die Inhalte in die Website einbindet auf dem Server ausgeführt wird und dann ist der Client egal.

Grüße
Malte

FrankBKK 1. Apr 2008 17:03

Re: Daten aus dyn. erzeugten URL mittels WinINet extrahieren
 
Schau Dir mal diese Seite an:

http://www.taxfreegold.co.uk/preciou...usdollars.html

Die auf der Seite angezeigten Kurse kann ich im Quellcode einfach nicht finden ...

Hab aber ganz ehrlich auch keine grosse Ahnung von HTML/DHTML etc. ...

OldGrumpy 1. Apr 2008 17:06

Re: Daten aus dyn. erzeugten URL mittels WinINet extrahieren
 
Weil die Kurstabelle eine Grafik ist, die per ASP vom Server geliefert wird.

stz 1. Apr 2008 17:15

Re: Daten aus dyn. erzeugten URL mittels WinINet extrahieren
 
Zitat:

Zitat von OldGrumpy
Weil die Kurstabelle eine Grafik ist, die per ASP vom Server geliefert wird.

Du hast keine Chance - nutze sie ;-)

shmia 1. Apr 2008 17:32

Re: Daten aus dyn. erzeugten URL mittels WinINet extrahieren
 
Mal angenommen, du sollst die aktuellen Goldpreise aus dem Internet holen.
Das wäre eine XML-Datei natürlich das Non-Plus-Ultra, weill sich das leicht parsen lässt.
Hier gibt's Goldpreise im XML-Format:
http://dgcsc.org/goldprices.xml
Ich weiss jetzt natürlich nicht, was genau deine Aufgabe ist.
Wenn du aber eine Webseite findest, die aktuelle Aktienkurse, Indexwerte, usw. als XML-Datei herausgibt, dann gib die URL hier bekannt; das wäre auch für andere Mitleser und mich interessant.

FrankBKK 1. Apr 2008 17:34

Re: Daten aus dyn. erzeugten URL mittels WinINet extrahieren
 
Au shit, ja klar, das erklaert natuerlich alles ...
dann muss ich mich wohl nach ner anderen Site umsehen !

Wenn ich was passendes finde poste ich es.

Thread closed ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:29 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