Hallo Team, ich brauche ein wenig Hilfe bei einem Lazarus-Projekt. Im Grunde genommen verfolge ich die Kataloge der 2-Euro-Münzen pro Jahr für meine persönliche Sammlung und würde gerne die Preisverfolgung ein wenig automatisieren. Ich möchte ein kleines Tool programmieren, das die Bewertungen und Auflagen pro Jahrgang auf Numismatik-Websites abruft und lokal speichert. Das Problem ist, dass ich ein wenig Schwierigkeiten mit dem Parsen des HTML-Codes habe, um die Preise sauber zu extrahieren, ohne dass mir irgendwelche Fehlermeldungen angezeigt werden.
Empfiehlt ihr mir, die Basiskomponenten zu verwenden, oder gibt es eine sauberere Bibliothek, um diese Art von Daten zu verarbeiten? Ich befürchte, dass mein Code sofort abstürzt, wenn die Website ihr Layout im Laufe des Jahres ein wenig ändert.
Währungsnotierungen (2 Euro) in Pascal parsen?
-
Rheinländer
- Beiträge: 8
- Registriert: Di 1. Okt 2024, 13:05
Re: Währungsnotierungen (2 Euro) in Pascal parsen?
Hallo,
du hast schon recht. Das parsen von HTML Seiten ist eine undankbare Aufgabe und ist sehr aufwendig. Ein anderen Ansatz vielleicht? Der Anbieter bietet eine RestAPI Schnittstelle an. Die würde ich mehr bevorzugen. Hier ein Beispiel von der Bundesbank Eurosystem.
https://api.statistiken.bundesbank.de/d ... umentation
du hast schon recht. Das parsen von HTML Seiten ist eine undankbare Aufgabe und ist sehr aufwendig. Ein anderen Ansatz vielleicht? Der Anbieter bietet eine RestAPI Schnittstelle an. Die würde ich mehr bevorzugen. Hier ein Beispiel von der Bundesbank Eurosystem.
https://api.statistiken.bundesbank.de/d ... umentation
Re: Währungsnotierungen (2 Euro) in Pascal parsen?
Hallo zusammen,
danke euch für die Hinweise
Ihr habt recht – HTML zu parsen ist fragil, vor allem wenn sich das Layout ändert. Eine saubere REST-API wäre definitiv die bevorzugte Lösung, falls der Anbieter so etwas zur Verfügung stellt. Das Beispiel der Bundesbank ist da ein gutes Vorbild.
Für meinen konkreten Anwendungsfall (2-Euro-Gedenkmünzen nach Jahrgang) habe ich leider noch keine offizielle API gefunden. Deshalb schaue ich mir gerade an, wie ich das Ganze möglichst robust lösen kann: z. B. mit einem richtigen HTML-Parser (DOM-basiert statt Regex), klaren Fallbacks und ggf. Caching der Ergebnisse, damit nicht ständig neu geladen werden muss.
Als Referenz nutze ich aktuell u. a. Seiten mit einer Präsentation jeder wertvollen 2-Euro-Münze mit Bildern, weil dort die Jahrgänge und Bewertungen recht übersichtlich strukturiert sind – aber genau da liegt eben auch die Sorge wegen möglicher Layout-Änderungen.
XQuery bzw. XPath schaue ich mir auf jeden Fall noch an, danke für den Link. Falls jemand noch Erfahrungen mit stabilen Parser-Libraries unter Lazarus/FreePascal oder mit ähnlichen Numismatik-Projekten hat, freue ich mich über weitere Tipps
Viele Grüße
danke euch für die Hinweise
Ihr habt recht – HTML zu parsen ist fragil, vor allem wenn sich das Layout ändert. Eine saubere REST-API wäre definitiv die bevorzugte Lösung, falls der Anbieter so etwas zur Verfügung stellt. Das Beispiel der Bundesbank ist da ein gutes Vorbild.
Für meinen konkreten Anwendungsfall (2-Euro-Gedenkmünzen nach Jahrgang) habe ich leider noch keine offizielle API gefunden. Deshalb schaue ich mir gerade an, wie ich das Ganze möglichst robust lösen kann: z. B. mit einem richtigen HTML-Parser (DOM-basiert statt Regex), klaren Fallbacks und ggf. Caching der Ergebnisse, damit nicht ständig neu geladen werden muss.
Als Referenz nutze ich aktuell u. a. Seiten mit einer Präsentation jeder wertvollen 2-Euro-Münze mit Bildern, weil dort die Jahrgänge und Bewertungen recht übersichtlich strukturiert sind – aber genau da liegt eben auch die Sorge wegen möglicher Layout-Änderungen.
XQuery bzw. XPath schaue ich mir auf jeden Fall noch an, danke für den Link. Falls jemand noch Erfahrungen mit stabilen Parser-Libraries unter Lazarus/FreePascal oder mit ähnlichen Numismatik-Projekten hat, freue ich mich über weitere Tipps
Viele Grüße