Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Html Parsen unabhängig von IE Sicherheitseinstellungen? (https://www.delphipraxis.net/116949-html-parsen-unabhaengig-von-ie-sicherheitseinstellungen.html)

richard_boderich 9. Jul 2008 09:01


Html Parsen unabhängig von IE Sicherheitseinstellungen?
 
Moin zusammen!

Ich parse Microsoft HtmlParser eine Webseite. Das klappt eigentlich auch ganz gut, jedoch nur, wenn die IE Sicherheitseinstellungen auf Mittel stehen.
(standard). Da ich jedoch auf Sicherheitseinstellung "Hoch" surfe, muss ich das jedesmal umstellen,damit das klappt. Das finde ich extrem lästig.

Jetzt meine Frage.

Gibt es einen HtmlParser der Funktioniert, ohne sich an den Sicherheitseinstellungen des IE zu stören. Also dem ich sagen kann Parse die Seite mit
Einstellung "Mittel" und nicht mit "Hoch". Vielleicht geht das ja auch beim MS HtmlParser, jedoch glaub ich da nicht dran.

richard_boderich 10. Jul 2008 09:40

Re: Html Parsen unabhängig von IE Sicherheitseinstellungen?
 
*push*

nochmal zum besseren Verständnis, das Parsen funktioniert deswegen nur auf mittel, weil die Seite Javascript enthält.

marabu 10. Jul 2008 10:11

Re: Html Parsen unabhängig von IE Sicherheitseinstellungen?
 
Hallo Richard,

die Sicherheitseinstellungen haben doch mit dem Parser nichts zu tun. Ich vermute du arbeitest nicht direkt mit dem Parser, sondern benutzt den Parser indirekt über den WebBrowser.

Freundliche Grüße

new32 10. Jul 2008 10:17

Re: Html Parsen unabhängig von IE Sicherheitseinstellungen?
 
du kannst in HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Internet Settings\Zones\3
die Sicherheitsstufe fürs Internet manuell anpassen.

musst nurnoch rausbekommen, welcher Schlüssel für welche Einstellung steht und dann kannst du sie vor Ausführung deines Programms einstellen.

Die Lösing ist nicht besonders elegant aber sollte funktionieren.

Eine andere etwas "bessere" Lösung:
du könntest dein Programm im Kontext eines anderen Benutzers ausführen [CreateProcessWithLogonW], der andere Sicherheitsstufen besitzt.

Oder mal gucken, ob z.B. Mozilla.org etwas geeignetes anbietet. Die haben (glaub ich) auch ne Webbrowserkomponente. Der Parser selbst hat (meines Wissens nach) nicht direkt was mit der Einstellung zu tun.

richard_boderich 10. Jul 2008 16:45

Re: Html Parsen unabhängig von IE Sicherheitseinstellungen?
 
@new32

Das ist mir bekannt. Aber das ist mir zu unsicher. Wenn der Nutzter wärend des Parsens einen neue IE Instanz startet, so
läuft diese Instanz auch nur auf mitteleren Sicherheitseinstellungen.

@marabu

Das ist richtig. Wie könnte ich das sonst realisieren, mit Idhttp.get einfach das Dokument ziehen und das dann parsen?
Bist du sicher das dies unabhängig von den IE Sicherheitseinstellungen funktioniert? AUCH WENN DIE SEITE JAVASCRIPT NUTZT?

//EDIT
@marabu

Hab es jetzt nochmal via GetDocument probiert. Es ist genau das selbe. Logisch gesehen kann es auch nicht funktionieren,
da das Javascript die Daten die ich parsen will ja erst in die Tabelle reinschreiben muss. Es ist also noch nichts da zum
Parsen, wenn das Javascript nicht ausgeführt wird.

marabu 10. Jul 2008 17:09

Re: Html Parsen unabhängig von IE Sicherheitseinstellungen?
 
Hi,

der Parser weiß nichts über JS. Es ist der Browser, der über das DOM den Code extrahiert und an die Scripting-Engine übergibt. Du kannst also die Seite per Indy-HTTP abholen und an den Parser übergeben. Klar, dass dann kein onLoad-Script ausgeführt wird.

Delphi-Quellcode:
var
  doc: IHTMLDocument2;

begin
  doc := CreateDocument(http.get(url));
end;
CreateDocument()

Freundliche Grüße


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