![]() |
website auslesen (idhttp/webbrowser) = unterschiedlicher Quelltext
Hallo zusammen!
Ich versuche gerade den Quelltext einer Website auszulesen. Mit der Komponente TWebbrowser hab ich es auch einigermaßen geschafft, allerdings habe ich schon öfters gelesen, dass der Webbrowser eher weniger zu empfehlen ist. (zumal ich an einer Darstellung der Website eigentlich gar nicht interessiert bin) Nach etwas herumprobieren habe ich mit TIdhttp ebenfalls eine Webseite als Quelltext anzeigen lassen können. Allerdings unterscheidet(es gibt ein paar Ähnlichkeiten ^^) sich der Quelltext von dem, wie er zB im FireFox zu sehen ist (weswegen ich die benötigten Daten auch nicht auslösen kann). Liegt das an irgendeiner Einstellung der Indy-Komponente oder möglicherweise an der Website? Bzw gäbe es eine schnellere Methode, an den Quelltext einer Seite heranzukommen? Schon mal vielen an alle, die sich die Mühe machen zu helfen. (ah ja, ich nutze Delphi 2009 und die mitgelieferten Indy-Kompnenten (10 glaube ich) Code schaut in etwa so aus
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var quelltext:TMemoryStream; begin quelltext := TMemoryStream.Create; try memo1.text:=idhttp1.Get('http://www.google.at'); //Edit :) quelltext.Seek(0, soFromBeginning); finally idhttp1.Free; quelltext.Free; end; end; |
AW: website auslesen (idhttp/webbrowser) = unterschiedlicher Quelltext
Indy o.ä. ist wohl der schnellste Weg. Ändere mal den USER AGENT
|
AW: website auslesen (idhttp/webbrowser) = unterschiedlicher Quelltext
Hallo,
probier es mal so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin Memo1.Text := IdHttp1.Get('http://www.google.at'); end; |
AW: website auslesen (idhttp/webbrowser) = unterschiedlicher Quelltext
ok, den beim UserAgent habe ich jetzt ein paar Einstellungen ausprobiert, alle mit dem gleichen Ergebnis.
@fui-tak: hoppla, so hatte ich es bereits, habe auf die Schnelle den falschen Teil kopiert. |
AW: website auslesen (idhttp/webbrowser) = unterschiedlicher Quelltext
Indy gibt genau das zurück, was ausgelesen wird.
TWebBrowser aka Internet Explorer und Firefox passen die Daten an, bevor sie diese anzeigen und Änderungen via JavaScript, Ajax und Co. sind auch möglich. |
AW: website auslesen (idhttp/webbrowser) = unterschiedlicher Quelltext
das heißt dann für mich, dass es, falls die daten in der Tabelle etwas mit Javascript etc. zu tun haben für mich via Indy nicht (oder zumindest schwer) erreichbar sind, oder wie darf ich das verstehen?
(Hab mich erst seit gestern mit Indy/Internet & co beschäftigt, kenn mich da noch nicht all zu gut aus.) |
AW: website auslesen (idhttp/webbrowser) = unterschiedlicher Quelltext
Indy liest nur den Quelltext aus, wie er ist. Manipulationen am DOM, welche durch JS gemacht werden müsstest du selber durchführen. In diesem Fall würde ich aber eine vorhandene RenderEngine nehmen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 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