![]() |
Quelltext einer Seite runterladen
Hi,
ich möchte den Quelltext einer Seite herunterladen um aus dem Quelltext eine bestimme Zeile zu kopieren, die Seite um die es sich handelt ist ![]() Ich möchte die Daten von der Statischen Seite einlesen und nicht von der FlashSeite. Mein Quelltext denn ich schon hatte:
Delphi-Quellcode:
Geht aber nicht da die Seite PHP ist.
FileStream := TFileStream.Create('C:\Wetter.html', fmCreate);
try HTTP.Get('http://wetter.rtl.de/static/index_ok.php', FileStream); finally FileStream.Free; end; Vielleicht weiß jemand da was. |
Re: Quelltext einer Seite runterladen
Delphi-Quellcode:
Wieso machst du das per FileStream?
str := idhttp1.get('http://www.wetter.de/balbal.php');
Und daten aus wetter.de parsen ist nicht erlaubt...nur mal so! Alex |
Re: Quelltext einer Seite runterladen
Also wenn man aus einem TWebBrowser den Quelltext der Seite speichern will, dann geht das so:
Delphi-Quellcode:
Vielleicht kannst du ja den Code entsprechend abändern... Hoffe es bringt dich weiter.
//Code auslesen:
function WB_SaveHTMLCode(WebBrowser: TWebBrowser; const FileName: TFileName): Boolean; var ps: IPersistStreamInit; fs: TFileStream; sa: IStream; begin ps := WebBrowser.Document as IPersistStreamInit; fs := TFileStream.Create(FileName, fmCreate); try sa := TStreamAdapter.Create(fs, soReference) as IStream; Result := Succeeded(ps.Save(sa, True)); finally fs.Free; end; end; |
Re: Quelltext einer Seite runterladen
Zitat:
|
Re: Quelltext einer Seite runterladen
|
Re: Quelltext einer Seite runterladen
@S2B,
ne ich hab keinen Webbrowser. Trotzdem danke. @Alex danke ich guck mal. |
Re: Quelltext einer Seite runterladen
@Alex
hmm leider nicht ganz. Es sollte schon eine Seite auf deutsch sein. Um wieder zum Thema zurückzukommen: Der Code geht auch nicht:
Delphi-Quellcode:
(Ja ich weiß, ich bin immer noch auf wetter.de) :?
Temp := HTTP.Get('http://wetter.rtl.de/static/index_ok.php');
Temp := Copy(Temp, Pos('<td valign="top" width="435" colspan="3"> ', Temp), Pos(' </td>', Temp)); |
Re: Quelltext einer Seite runterladen
was daran geht nicht?
übrigens wirst du auf der startseite auch nicht viel finden, was wetterdaten betrifft! Alex P.S. Wenn du die Daten sowieso parsen willst, wieso nimmst du dann nicht rssweather.com! du musst doch nur die Gradzahl sowie wetterdaten parsen ...der englische text drum rum ist doch egal! |
Re: Quelltext einer Seite runterladen
Zitat:
Er zeigt nix an. zum PS: hmm stimmt auch wieder |
Re: Quelltext einer Seite runterladen
Vielleicht hilft dir diese Funktion hier:
Delphi-Quellcode:
Function GetHTML(AUrl: string): string;
var databuffer : array[0..4095] of char; ResStr : string; hSession, hfile, hRequest: hInternet; dwindex,dwcodelen,datalen,dwread,dwNumber: cardinal; dwcode : array[1..20] of char; res : pchar; Str : pchar; begin ResStr:=''; if pos('http://',lowercase(AUrl))=0 then AUrl:='http://'+AUrl; hSession:=InternetOpen('InetURL:/1.0', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); if assigned(hsession) then begin hfile:=InternetOpenUrl( hsession, pchar(AUrl), nil, 0, INTERNET_FLAG_RELOAD, 0); dwIndex := 0; dwCodeLen := 10; HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex); res := pchar(@dwcode); dwNumber := sizeof(databuffer)-1; if (res ='200') or (res ='302') then begin while (InternetReadfile(hfile, @databuffer, dwNumber, DwRead)) do begin if dwRead =0 then break; databuffer[dwread]:=#0; Str := pchar(@databuffer); resStr := resStr + Str; end; end else ResStr := 'Status:'+res; if assigned(hfile) then InternetCloseHandle(hfile); end; InternetCloseHandle(hsession); Result := resStr; end;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin Memo1.Text := GetHTML('http://wetter.rtl.de/static/index_ok.php'); end; |
Re: Quelltext einer Seite runterladen
Hi :stupid: ,
leider kennt er bei mir folgende Sachen nicht: hInternet InternetOpen INTERNET_OPEN_TYPE_PRECONFIG |
Re: Quelltext einer Seite runterladen
in der delphi-source library gibt es zwei tipps: einen, um den quelltext eines browsers abzuspeichern, und einen, um das zeugs in plaintext umzuwandeln. dass funzt und sollte auf alle fälle dein problem lösen!
|
Re: Quelltext einer Seite runterladen
Zitat:
Delphi-Quellcode:
nicht vergessen ;)
uses WinInet
|
Re: Quelltext einer Seite runterladen
Zitat:
|
Re: Quelltext einer Seite runterladen
Wie baue ich da jetz nen progressbar-update mit rein?
Müsste doch irgendwo stehen wie weit der download grade ist, oder? MfG, Draco |
Re: Quelltext einer Seite runterladen
Zitat:
|
Re: Quelltext einer Seite runterladen
Also ich habe in letzter Zeit etwas PHP geprogt und sage dir, das kann NICHT daran liegen, dass die Seite PHP ist, da PHP auf dem Server ausgeführt wird.
In einem anderen Thread habe ich mal gelesen, dass bei einigen Server die Indy-Komponenten gesperrt sind. Es gibt da aber 'ne Option, wie du verändern kannst, als was sich die Kompo identifiezierst. Ich finde nur den anderen Thread nicht mehr (zumal ich mir nicht ganz sicher bin, ob das überhaupt in der DP war) und ich habe vergessen, wie die Eigenschaft heißt. Vielleicht weiß es ja hier einer. Aber moment, da muss ich mal was ausprobieren... Ich schreibe gleich nochmal ein edit... EDIT: Ich habe mal meinen das was du mit wetter.de gemacht hast, mit meinem eigenen Server gemacht und zwar auch mit einer PHP-Seite. Und es hat wundervoll geklappt. Es liegt also DEFINITIV NICHT an PHP!!! |
Re: Quelltext einer Seite runterladen
So, jetzt weiß ich was du falsch gemacht hast: RICHTIG:
memo1.text :=idHTTP1.Get('http://wetter.rtl.de/static/index_ok.php'); Dann funzt es auch! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:06 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