AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi website auslesen (idhttp/webbrowser) = unterschiedlicher Quelltext

website auslesen (idhttp/webbrowser) = unterschiedlicher Quelltext

Ein Thema von Notxor · begonnen am 6. Jul 2010 · letzter Beitrag vom 6. Jul 2010
Antwort Antwort
Notxor

Registriert seit: 28. Okt 2009
41 Beiträge
 
Delphi XE2 Professional
 
#1

website auslesen (idhttp/webbrowser) = unterschiedlicher Quelltext

  Alt 6. Jul 2010, 21:09
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;

Geändert von Notxor ( 6. Jul 2010 um 21:35 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.859 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: website auslesen (idhttp/webbrowser) = unterschiedlicher Quelltext

  Alt 6. Jul 2010, 21:11
Indy o.ä. ist wohl der schnellste Weg. Ändere mal den USER AGENT
Markus Kinzler
  Mit Zitat antworten Zitat
fui-tak

Registriert seit: 24. Okt 2008
117 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: website auslesen (idhttp/webbrowser) = unterschiedlicher Quelltext

  Alt 6. Jul 2010, 21:30
Hallo,
probier es mal so:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Text := IdHttp1.Get('http://www.google.at');
end;

Geändert von fui-tak ( 6. Jul 2010 um 21:33 Uhr)
  Mit Zitat antworten Zitat
Notxor

Registriert seit: 28. Okt 2009
41 Beiträge
 
Delphi XE2 Professional
 
#4

AW: website auslesen (idhttp/webbrowser) = unterschiedlicher Quelltext

  Alt 6. Jul 2010, 21:34
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.122 Beiträge
 
Delphi 12 Athens
 
#5

AW: website auslesen (idhttp/webbrowser) = unterschiedlicher Quelltext

  Alt 6. Jul 2010, 21:35
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PosEx im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Notxor

Registriert seit: 28. Okt 2009
41 Beiträge
 
Delphi XE2 Professional
 
#6

AW: website auslesen (idhttp/webbrowser) = unterschiedlicher Quelltext

  Alt 6. Jul 2010, 21:49
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.)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.859 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: website auslesen (idhttp/webbrowser) = unterschiedlicher Quelltext

  Alt 6. Jul 2010, 21:51
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
Markus Kinzler
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:31 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