# Daten aus PHP Tabelle auslesen



## aboony (9. September 2011)

Hallo,

man nehme folgende Seite:
http://ecal.forexpros.de/e_cal.php
und versuche die (stets aktualisierten) Daten auszulesen.

Meine Fragen:

Geht das überhaupt?
Hat jemand eine Idee?

Ja, es gibt real-time Data Feeds, aber die kosten satte Summen. Dies hier ist ein Low-Budget-Projekt...

Für Vorschläge wäre ich sehr dankbar.

Bert


----------



## Fabio Hellmann (9. September 2011)

Hi aboony und Willkommen bei Tutorials.de,
für java gibt es bereits mehrere HTML-Parser. Mit denen ist es möglich diese Seite zu parsen und den Inhalt aus der Tabelle raus zu filtern. Hier ein HTML-Parser.

Gruß

Fabio


----------



## aboony (9. September 2011)

Auf Parsen wollte ich weitgehend verzichten, weil die Seiten echt viel HTML-Text enthalten. Parsen wäre eigentlich die Notlösung.

Sonst noch eine Idee?


----------



## SE (9. September 2011)

Naja was hast du dir denn Vorgestellt ? Du bekommst vom Server nunmal nur ne HTML ... und die musst du selbst parsen und verarbeiten. Oder was genau wolltest du ?


----------



## aboony (9. September 2011)

Hm, na ja, vielleicht so etwas wie
linkBlaBla/e_cal.php?getRowData=1

OK, OK! Ich sehe es ein. Mann darf ja noch träumen. Dann eben Parsen...

Danke.


----------



## SE (9. September 2011)

Wenn es dein Script wäre könntest du es ja so einprogrammieren ... aber es ist nun mal nicht dein Script. Und wenn derjenige der das Script geschrieben hat so eine Funktion nicht implementiert hat dann kannst du zwar an das GET alles Mögliche ranhängen ... wirst aber keine andere Antwort bekommen.

btw : du meinst das doch nicht ernst das man ein PHP so einfach manipulieren könnte oder ?


----------



## aboony (9. September 2011)

Nun trampel nicht weiter auf mir herum: ich habe mich schon mit dem Parsen abgefunden.

Woher soll ich es wissen? PHP ging bislang an mir vorüber...


----------



## SE (9. September 2011)

Kurze Erläuterung : das was nach dem ? an einer URL steht sind Parameter für PHP ... ähnlich den Startparametern in Java ...
Analog : wenn du in Java die Abfrage der Parameter nicht implementierst kannst du ja dranhängen was du willst und es passiert nichts ... genau so ist das bei PHP ... wenn du da nicht explizit was mit diesen Parametern machst werden sie schlicht ignoriert.


----------



## aboony (9. September 2011)

OK. Und wer das Skript nicht kennt, kennt die Parameter nicht...ärgerlich.

Wenn man mal Zeit hat, könnte man dann ein Skript entwickeln, welches alle möglichen Parameter ausprobiert. Klappt aber dann vermutlich nur, wenn es überhaupt zugreifbare Parameter gibt, nicht wahr?

Tja. Fazit: Parsen...


----------



## SE (9. September 2011)

Nun ... da PHP in der Regel in ANSI programmiert wird ... und irgendwo mal Schluss mit differenzierung ist *ich glaube wie in C nach der 28ten Stelle des Bezeichners* bleiben immer noch 62^28 mögliche Bezeichnerkombinationen. Und selbst dann auch nur wenn überhaupt eine Paramterabfrage stattfindet. Und dann musst du noch rausbekommen welche Werte für die Parameter überhaupt möglich sind ...
Da eine URL aber nur eine maximale Länge von 255 Zeichen haben darf *zumindest soweit ich das richtig im Kopf hab* und sowohl Server als auch Script sehr kurze Namen haben indeinem fall mehr als 200 Stellen die du mit 62 Zeichen belegen kannst ... also 62^200 ... na dann mal VIEL SPASS.


----------



## genodeftest (9. September 2011)

SPiKEe hat gesagt.:


> Nun ... da PHP in der Regel in ANSI programmiert wird ...


Kann ich mir nicht vorstellen. Warum sollte man so einen Unfug machen?
Meines Wissens wird PHP üblicherweise in UTF-8 geschrieben.


----------



## genodeftest (9. September 2011)

@Thread: Manche Anbieter solcher Daten stellen auch eine API bereit, auf die man über spezielle Protokolle oder mit Hilfe von JSON-Abfragen zugreifen kann. Es wäre einfacher, wenn du eine solche API findest!
An sonsten: Ausprobieren würde ich nicht, der Server wird deine IP nach einigen hundert Abfragen ignorieren (aus Schutz vor Überlastung). Es ist erfolgsversprechender (aber programmiertechnisch deutlich Aufwändiger) die JavaScripte auszuführen.


----------



## SE (10. September 2011)

genodeftest hat gesagt.:


> Kann ich mir nicht vorstellen. Warum sollte man so einen Unfug machen?
> Meines Wissens wird PHP üblicherweise in UTF-8 geschrieben.



Ja ... PHP selbst schon ... aber wenn man unter Windows arbeitet werden die Scripte nur als ANSI-Text gespeichert ... ich weis nicht wie es unter anderen Systemen ist.


----------



## genodeftest (10. September 2011)

Du meinst wahrscheinlich US-ASCII...

Und das Problem ist höchstwahrscheinlich, dass der MS Editor (und andere schlechte Editoren) nur us-ascii oder eine CP12xx / ISO-8859-xx-Variante können. PHP wird aber höchstwahrscheinlich mit UTF-8 oder UTF-16 (wie Java, .NET, KDE/Qt, Mac OS X, Windows (System) seit NT, ...) arbeiten und dementsprechend auch Sonderzeichen verarbeiten können.

Windows-Notepad hat allerdings massive Probleme bei der Codierung von Dateien, siehe https://secure.wikimedia.org/wikipedia/en/wiki/Bush_hid_the_facts


----------



## SE (10. September 2011)

Hmm ... wenn du den Wiki-Post mal selbst durchgelesen hättest wüsstest du das ich schon ANSI meine.
Zitat aus dem Wiki-Post


> If the file is saved as "UTF-8" rather than "ANSI" (which in reality means Windows-1252 on systems using western european languages) the text displays correctly, because Notepad prepends the UTF-8 byte order mark, which is a different pattern that does not trigger this bug. UTF-8 without the byte order mark would still trigger the bug, as it is identical to ASCII.


Dessweiteren auch ein Screenshot von Notepad unter Win7 Ulti x64


Ich meinte es schon genau so wie gesagt habe das Win standardmäßig in ANSI speichert ... und nicht in ASCII.

Dessweiteren gibt es einen sehr lustigen Bug in Win7 :
Da ich selber nur den Notepad2 verwende habe ich es natürlich mit diesem auch ausprobiert. Erstaunlicher weise stimmt es was im Wiki-Post steht : unter Win7 wurde es gefixt ... allerdings nur im Notepad selbst ... die Win-API auf die alle anderen Programme zugreifen enthält diesen Fehler weiterhin wesshalb bei einem ANSI-Text der Bug sogar im Notepad2 auftritt.


----------



## genodeftest (11. September 2011)

Deswegen empfehle ich notepad++, http://notepad-plus-plus.org/


----------



## SE (11. September 2011)

Hmm .. nee ... is nich so mein Freund ... hab ich zwar auch mal ausprobiert ... aber mich dann doch mit Notepad2 angefreundet. Grund : Tabs in nem Editor ... soweit kommts noch.


----------



## forexpros (8. Januar 2012)

Kurze und ehrliche Frage - warum den ganzen aufwand von parceln und so auf sich nehmen wenn die ganzen tools auf forexpros völlig umsonst sind?


----------

