So funktioniert JustAnswer:
  • Fragen Sie einen Experten
    Tausende Experten in über 200 Kategorien.
  • Erhalten Sie eine professionelle Antwort
    Per E-Mail oder sofortiger Benachrichtigung, während Sie auf unserer Website warten.
    Stellen Sie ggf. weitere Anschlussfragen.
  • 100%ige Zufriedenheit garantiert
    Bewerten Sie die erhaltene Antwort.
Stellen Sie Ihre Frage an IT-Fachinformat...
IT-Fachinformatiker
IT-Fachinformatiker, Systemadministrator
Kategorie: Computer
Zufriedene Kunden: 6970
Erfahrung:  Software Entwicklung, Projekt Erfahrung, Windows-Netzwerke, Linux-Netzwerke, Windows/Linux-Server
32504664
Geben Sie Ihre Frage in der Kategorie Computer hier ein
IT-Fachinformatiker ist jetzt online.

Hallo, Ich m chte eine webtabelle mit delphi auslesen aus

Kundenfrage

Hallo,

Ich möchte eine webtabelle mit delphi auslesen aus einer html page
dies ist die URL, da jedoch mit queries gearbeitet wird, läßt sich der inhalt nicht einfach über get holen.
http://www.boerse.de/aktien/aktien_startseite.php?view=0&order=name asc&liste=mdax&boerse_id=6#anker_liste
Gepostet: vor 6 Jahren.
Kategorie: Computer
Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
Hallo, also wenn Sie z.b. per Telnet:

telnet www.boerse.de 80

gefolgt von:

get http://www.boerse.de/aktien/aktien_startseite.php?view=0&order=name asc&liste=mdax&boerse_id=6#anker_liste

eingeben wird das Resultat angezeigt völlig ohne Probleme. Wenn Sie nur diese eine URL meinen:

http://www.boerse.de/aktien/aktien_startseite.php?view=0&order=name asc&liste=mdax&boerse_id=6#anker_liste

muss es auch in Delphie klappen, sofern Sie eine Methode haben, die dem HTTP GET Befehl entspricht und zwar 1:1 verstehe ich es richtig, das es Ihnen nur um diese eine URL geht oder wollen Sie diese mit Hilfe von POST manipulieren, um z.B. Parameter zu ändern? Auch das muss gehen.

Gruss Günter

Kunde: hat geantwortet vor 6 Jahren.

Ich muß diese Daten in ein Stringgrid von Delphi übernehmen.

Es dreht sich im Endefekt um ca 170 verschieden Seiten, die mir alle ein Table über Query zur Verfügung stellen.

 

Ich brauche eine Abfrage für Delphi um diese Daten in ein entsprechendes Format umsetzen zu können und in die Datenbank zu übernehmen. Telnet ist da nicht wirklich hilfreich.

Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
Mit telnet habe ich Ihnen eindeutig gezeigt, wie einfach es ist an die gewünschten Daten zu kommen! Sie müssen sich mit HTTP sehr tief auseinander setzen ich gehe davon aus, das Sie sehr gut Pascal programmieren können. Sie können es in Pascal (Delphie) z.B. u.a. so machen:

Edit1.Text := IdHTTP.Get("get http://www.boerse.de/aktien/aktien_startseite.php?view=0&order=name asc&liste=mdax&boerse_id=6#anker_liste")

damit wäre der gesamte HTML-Quelltext in dem Eingabefeld Edit1 natürlich können Sie da auch eine Stringvariable angeben,

Dies müssen Sie natürlich für jede einzelne der 170 URLs aufrufen d.h. am besten Parameter verwenden beim IdHTTP.Get Aufruf. Bedenken Sie: Sie erhalten immer ohne Ausnahme nur den Quelltext der Setie, niemals ich wiederhole niemals das, was Sie im Browser sehen d.h. die Filterung der HTML-Tags usw. müssen Sie selbst programmieren.

Hier wäre ein einfaches Beispiel:

procedure TForm1.Button1Click(Sender: TObject);
var
html: string;
begin
with TidHTTP.Create do
try
html := Get('http://www.seite.de');
showmessage(html);
finally
Free;
end;
end;

Delphie 2010

Gruss Günter

Verändert von IT-Fachinformatiker am 30.11.2010 um 15:47 Uhr EST
Kunde: hat geantwortet vor 6 Jahren.

Hallo Günther,

 

So kriege ich zwar den Quelltext der Seite, den will ich jedoch überhaupt nicht!!!

 

Ich will die Daten in der Tabelle

 

Das sind die Daten der Aktiennamen WKN's etc.

 

Wie in meiner Frage 1 beschrieben.

Kunde: hat geantwortet vor 6 Jahren.

Es gibt die Möglichkeit über die Komponente TQueryTableProducer und TPageproducer die Formatierung der page in zusammenarbeit mit der query zu nehmen und diese dann als formatierung dem tableproducer zu übergeben der NUR die Daten holt bzw sogar dann die Formatierung beibehält.

 

Aber wie werden diese Komponenten eingesetzt???

 

Grüße

 

Rainer Groer

Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
zu TQueryTableProducer suche ich Infos raus

Hier mein eigentlicher Text:

Hallo und da wären wir wieder: Das geht überhaupt nicht! Wie denn auch? Sie können nicht einfach mal eben auf Ihre fertige Tabelle zugreifen das ist weder in Deplhie noch sonst wo möglich! Der HTML-Quelltext muss analysiert werden, selbst dann wenn Sie eine fertige HTML-Datei downloaden würden. Es gibt hier keine andere Möglichkeit soern der Webseiten-Betreiber kein eigenes API anbietet mit dessen Hilfe man an die Daten direkt kommen würde.

Amazon z.B. beitet ein spezielles API an, welches Sie per Socket ansprechen können also per TCP dort erhalten Sie dann Ausgaben, ohne Quelltext ich wüsste aber nicht, das der Dienst von boerse.de ein solches API hat daher bliebe Ihnen eben nur der Weg, den Quelltext zu parsen.

Ich denke nicht, auch wenn Sie es sich noch so sehr wünschen das Sie da drum herum kommen im übrigen wird dies von sehr vielen Tools genau so gemacht das parsen des Quelltextes ist eine elementare Vorraussetzung um in Fällen wie diesen Informationen zu erhalten.

Ein guter Hinweis ist diese Seite, dort wird beschrieben wie man XML Dokumente parst dürfte auf HTML 1:1 umsetzbar sein, da es eng mit HTML verwandt ist und die gleiche Syntax aufweist:

http://reeg.junetz.de/DSP/node31.html

Natürlich könnten Sie auch beim Webseitenprovider anfragen, ob ein API zur Verfügung steht welches per TPC-Socket ansprechbar ist aber wenn nicht, müssen Sie einen Parser einsetzen und es wie hier beschrieben programmieren. Natürlich ist das ein enormer Aufwand. Man könnte auch ein externes Tool nehmen es von Delphie ausführen lassen und eine Datei im gewünschten Format erzeugen lassen, und diese wieder in Delphie laden das ginge natürlich auch.

Gruss Günter
Kunde: hat geantwortet vor 6 Jahren.

Hallo,

 

Die Analyse macht der Tableproducer in Zusammenarbeit mit der Query über die im html text vorhandenen tags.

 

Das ist das, was ich soweit nach 3 tagen googeln zusammengebracht habe...

Eine Api gibts im Moment von Börse noch nicht, hab ich auch schon angefragt, werden die irgenwann demnächst ändern.

 

Diesen text zu pasen ist eine siphilus-Arbeit...

 

Deshalb ja meine Frage (Excel zum Beispiel bietet dies direkt an über Table import)

in Delphi gibts dafür diese Tablproducer.

 

 

Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
Hallo, also zu der von Ihnen genannten Komponente die Ihnen einiges an Arbeit abnimmt da sie bereits einen HTML Parser enthält zunächst Grundsatz Informationen dazu die ich hier nur verlinken darf:

http://docs.embarcadero.com/products/rad_studio/radstudio2007/RS2007_helpupdates/HUpdate4/DE/html/devwin32/wserverusingtquerytableproducer_xml.html

Damit müsste es in der Tat gehen da diese Komponente genau das macht, was Sie wollen und was ich Ihnen per Parser gezeigt hab nur, das Sie hier den Parser nicht mehr programmieren müssen und zudem eine direkte DB-Anbindung haben da ich allerdings kein Deplhie bennutze kann ich Ihnen nicht "mal eben" ein Beispiel Programm liefern aber hier sind sehr gute Erklärungen:

http://docwiki.embarcadero.com/VCL/XE/de/DBBdeWeb.TQueryTableProducer.Query

Lesen einmal diese URLs hier durch, ich denke dann sind wir sehr viel weiter es sind dort auch Beispiele zu finden, die Sie entsprechend umsetzen können und es ist verständlich verklärt. Ich schaue grad noch weiter....

Gruss Günter


IT-Fachinformatiker und weitere Experten für Computer sind bereit, Ihnen zu helfen.
Kunde: hat geantwortet vor 6 Jahren.
Vielen Dank!!!
Experte:  IT-Fachinformatiker hat geantwortet vor 6 Jahren.
Hallo, konnte ich Ihnen damit wirklich helfen? Habe leider keine konkreten Beispiele gefunden treffe immer wieder auf die o.a. Webseiten aber damit müsste man ans Zeil kommen vorallem: Delphie bietet noch viel mehr an, eine enorme Menge an Internet-Komponenten Sie sparen vorallem die Programmierung eines HTML-Parsers das war bestimmt die grösste Hürde. Ich bedanke XXXXX XXXXX herzlich für die Akzeptierung und stehe gern weiter zur Verfügung. LG Günter

Ähnliche Fragen in der Kategorie Computer