Re: IE auslesen
Such nach Quelltextzeilen, die einzigartig sind (z.B. id="besucherzähler") und in der Nähe deiner Zahl sind. Dann kannst du ja deine Zahl auslesen.
Nützliche Funktionen:
MFG Benjamin Edit: Wieso war bei Toms kein roter Kasten :gruebel: |
Re: IE auslesen
Dann bleibt dir nichts anderes übrig, als die Html-Datei zu parsen
|
Re: IE auslesen
ok ich werd es mal probieren
thx an alle |
Re: IE auslesen
Hi @,
ich bin soeben auch an diesem Problem dran,aber mit Get bekomme ich nur den Header ausgelesen. Wie kann ich nun den Kompletten Quelltext der Seite auslesen ? Vielen Dank. |
Re: IE auslesen
Das Problem kenne ich. Du könntest mit TWebbrowser die Seite aufrufen und dann den quelltext auslesen.
|
Re: IE auslesen
Hi,
Wie kan nes eigentlich sein das einige Seiten gehen also der reine Quelltext und andere nicht also nur den Head. ? wie mach i das genau ? Hab schon einige Funktionen gefunden aber da bekomme ich auch leider nur den Head aus dem Document raus. Bin nun schon soweit das ich die links im webbrowser laden will und während dem laden mit tracent mit wincap ! aber das is oversize für das was ich will. Ich will nur den Quelltext raus hoeln wo ich mit rechts klichk Quelltext auslesen im IE auch sehe. das würde mir reichen. danke |
Re: IE auslesen
hiho,
ich hab denke ich was, was dir hilft, weiß zwar nicht mehr woher genau ich das hab, ist auch nicht von mir. Hoffe das ist okay, wenn ich den Code jetzt hier poste:
Delphi-Quellcode:
hoffe das ist was du suchst und dann kannst du im Memo2 deine Parsing starten ;)
uses ComObj,OleCtrls, SHDocVw_TLB,ActiveX,MSHTML_TLB; // kA ob ActiveX unbedingt dabei sein muss
var vIE : OleVariant; Memo2: TMemo; // Internet Explorer Instanz wird erstellt und die Adresse in Edit1.text aufgerufen procedure TForm1.Button2Click(Sender: TObject); begin vIE := CreateOleObject('InternetExplorer.Application'); vIE.visible:=true; vIe.navigate(Edit1.text); sleep(3000); Button3.Click; end; // Quellcode holen function GetHTMLCode(WB: IWebbrowser2; ACode: TStrings): Boolean; var ps: IPersistStreamInit; s: string; ss: TStringStream; sa: IStream; begin ps := WB.document as IPersistStreamInit; s := ''; ss := TStringStream.Create(s); try sa:= TStreamAdapter.Create(ss, soReference) as IStream; Result := Succeeded(ps.Save(sa, Bool(True))); if Result then ACode.Add(ss.Datastring); finally ss.Free; end; end; // Das Aktuelle Internet Explorer Fenster wird gesucht procedure TForm1.Button3Click(Sender: TObject); var ShellWindow: IShellWindows; WB: IWebbrowser2; spDisp: IDispatch; IDoc1: IHTMLDocument2; k: Integer; s:string; a:integer; begin Memo2.clear; ShellWindow := CoShellWindows.Create; // get the running instance of Internet Explorer for k := 0 to ShellWindow.Count do begin spDisp := ShellWindow.Item(k); if spDisp = nil then Continue; // QueryInterface determines if an interface can be used with an object spDisp.QueryInterface(iWebBrowser2, WB); if WB <> nil then begin WB.Document.QueryInterface(IHTMLDocument2, iDoc1); if iDoc1 <> nil then begin WB := ShellWindow.Item(k) as IWebbrowser2; begin // Add HTML Code to Memo GetHTMLCode(WB, Memo2.Lines); end; end; end; end; end; // irgendwann dann den IE wieder schließen vIE.quit; |
Re: IE auslesen
Hi,
Danke, aber leider ist egal was ich mache das iDoc immer nil . nur wenn vorher schon ein IExplorer auf ist dann gings aber mit dem Code von dem anderen IE. Aber es muss doch einen einfacheren Weg geben ? Ich will ja nur den Quellcode in voller länge haben . Ohne IE Instanz und TWebbrowser öffnen zu müssen. Vielen Dank |
Re: IE auslesen
|
Re: IE auslesen
Zitat:
Code:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 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