Dynamische Kursdaten-URLs

Genauso ist es. Ich werde das mit der nächsten Version verbessern.

1 Like

@WoGehtsLang Vielen Dank für deine Antwort! :slightly_smiling_face:

@AndreasB Super! Kannst du grob sagen, wann die Version released wird?

Beste Grüße an alle

Ist jetzt mit Version 0.46.0 draussen. :smile:

Hey @AndreasB ,

vielen Dank für das Update!

ETFs funktionieren jetzt alle, aber Aktien leider noch immer nicht, obwohl die richtige Version bei mir auf dem Mac installiert ist.

Screenshot - Aktuelle Version

Screenshot - Fehlerhafte Aktien

Link für die Bayer-Aktie ist z.B.
https://www.ariva.de/DE000BAY0017/historische_kurse?boerse_id=16&month={DATE:yyyy-MM-32}&currency=EUR&clean_split=1&clean_payout=0&clean_bezug=1

Kannst du da vielleicht weiterhelfen?

Beste Grüße an alle

@AndreasB

Problem gelöst:

Ich habe die Kursdaten der entsprechenden Aktien gelöscht und die Links noch einmal eingefügt. Jetzt läuft alles!

Vielen Dank für das Update!!! :slightly_smiling_face:

Bei dem Redirect dieser URL
https://www.ariva.de/FR0000120321/historische_kurse?boerse_id=131&currency=EUR&clean_split=1&clean_split=0&clean_payout=0&clean_bezug=1&clean_bezug=0&month=2020-04-32

scheint PP irgendwas falsch zu machen. Der Response Location Header scheint eigentlich richtig codiert zu sein. Dennoch scheint PP damit irgendwie nicht zurecht zu kommen und verwendet eine „halb“? codierte URL?.

Jedenfalls landet man in einer Redirect Schleife.

Wed Apr 15 16:42:28 CEST 2020
https://www.ariva.de/FR0000120321/historische_kurse?boerse_id=131&currency=EUR&clean_split=1&clean_split=0&clean_payout=0&clean_bezug=1&clean_bezug=0&month=2020-04-32
null
java.io.IOException: https://www.ariva.de/FR0000120321/historische_kurse?boerse_id=131&currency=EUR&clean_split=1&clean_split=0&clean_payout=0&clean_bezug=1&clean_bezug=0&month=2020-04-32
null
	at name.abuchen.portfolio.online.impl.HTMLTableQuoteFeed.parseFromURL(HTMLTableQuoteFeed.java:405)
	at name.abuchen.portfolio.online.impl.HTMLTableQuoteFeed.internalGetQuotes(HTMLTableQuoteFeed.java:358)
	at name.abuchen.portfolio.online.impl.HTMLTableQuoteFeed.getLatestQuote(HTMLTableQuoteFeed.java:301)
	at name.abuchen.portfolio.ui.jobs.UpdateQuotesJob$1.run(UpdateQuotesJob.java:230)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.apache.http.client.ClientProtocolException
	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:187)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
	at name.abuchen.portfolio.util.WebAccess.get(WebAccess.java:160)
	at name.abuchen.portfolio.online.impl.HTMLTableQuoteFeed.parseFromURL(HTMLTableQuoteFeed.java:396)
	... 4 more
Caused by: org.apache.http.client.CircularRedirectException: Circular redirect to 'https://www.ariva.de/l'or%C3%A9al-aktie/historische_kurse?boerse_id=131&currency=EUR&clean_split=1&clean_split=0&clean_payout=0&clean_bezug=1&clean_bezug=0&month=2020-04-32'
	at org.apache.http.impl.client.DefaultRedirectStrategy.getLocationURI(DefaultRedirectStrategy.java:177)
	at org.apache.http.impl.client.DefaultRedirectStrategy.getRedirect(DefaultRedirectStrategy.java:221)
	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:122)
	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
	... 8 more

Was mir auffällt ist, dass die URL Doppelungen enthält die widersprüchlich sind. clean_bezug=1 und clean_bezug=0, etc. Vielleicht hilft es, das zu korrigieren?!

https://www.ariva.de/l%27or%C3%A9al-aktie/historische_kurse?boerse_id=131&month=&currency=EUR&clean_split=0&clean_payout=0&clean_bezug=0

Was passiert wenn Du die URL so einträgst? (die &clean_xxxx=X vorher so setzen wie Du es wirklich willst)

EDIT: sieht gut aus

EDIT2: Deine Datumsangabe hatte ich vergessen

https://www.ariva.de/l%27or%C3%A9al-aktie/historische_kurse?boerse_id=131&month=2020-04-32&currency=EUR&clean_split=0&clean_payout=0&clean_bezug=0

Witziger weise scheint Ariva sich diese URLs mit den doppelten clean_* Parametern selbst so zusammen zu bauen, wenn man die Checkboxen benutzt.
Eigentlich hatte ich die URL auch ursprünglich so, ohne dynamische Daten:
https://www.ariva.de/l%27or%C3%A9al-aktie/historische_kurse?boerse_id=131&month=&currency=EUR&clean_split=1&clean_payout=0&clean_bezug=1

Das hat auch geklappt. Ich habe jetzt nur alle URLs vereinheitlicht und umgestellt auf dynamische URLs. Das hat auch für alle Papiere ganz gut geklappt, außer für L’Oreal. Ich denke das liegt an der Kodierung. Die URL sieht also jetzt so aus:
https://www.ariva.de/{ISIN}/historische_kurse?boerse_id=131&currency=EUR&clean_split=1&clean_payout=0&clean_bezug=1&month={DATE:yyyy-MM-32}

Kann das bestätigen, L’Oreal funktioniert leider nicht mehr. Ist bei einer Änderung vor vielleicht 3 oder 4 Monaten kaputtgegangen und liefert seitdem Fehlermeldungen (Habs leider immer wieder verpennt das zu posten, sorry)

Ich habe mal eine Frage zu den URLs…für die historischen Kurse habe ich sie erfolgreich eingebunden…was macht ihr für die aktuellen Kurse?? Lasst ihr die Einstellung auf „wie historische Kurse“?? Oder wie sorgt ihr dafür, dass die Kurse sich täglich aktualisieren wenn ihr PP startet?

Danke und Gruß
Thomas

Eine Antwort auf die Frage von tgmuc89 würde mich auch sehr interessieren. Denke im Voraus!

Habs selber rausgefunden…bei den aktuellen einfach wie historische eingestellt lassen, klappt wunderbar :wink:

@tgmuc89,
danke für die schnelle Antwort. Ich würde gerne noch eine Zusatzfrage anschließen, da ich gerade an einer Problemlösung für meine umfangreiche „ETF-Sammlung“ arbeite.
Ich habe die historische und und aktuelle Kursabfrage umgestellt von bisher Yahoo auf Webseitenabfrage bei Ariva. Heute Morgen nun bekam eine Mitteilung von Ariva, dass meine IP für 24 Stunden gesperrt ist, da zuviele Abfragen gestern oder davor stattgefunden haben.
Ich habe nun erstens die automatische Kursabfrage auf inaktiv gestellt. Zweitens habe ich begonnen, die historische Abfrage auf Portfolio Report.Net umzustellen. Jetzt gibt es bei mir zwei konkete Fragen:

  1. Da meine historischen Daten bei allen gespeicherten Werten vollständig und weitgehend ohne Fehltage sind, kann ich nicht dann auf einen Eintrag unter historische Kurse verzichten (Einstellung: „Kein automatischer Download“) und die täglichen Kurse über Yahoo beziehen, vorausgesetzt es kommen künftig nicht zuviele „Fehldaten“ von Yahoo?
  2. Oder ist es sinnvoller, die Einstellung für historische Daten über Portf. Report.Net und die aktuelle Aktualisierung als „wie historische Daten“ einzustellen?

@AndreasB Machts Sinn, dass wir von uns aus die ganze Geschichte RateLimiten? Oder soll der User abwarten, bis er ne neue IP bekommt?

@Al2Klimov,
Könntest du bitte die beiden Sätze nochmals in gutem Deutsch formulieren, ich verstehe nicht was du mit dieser Antwort meinst.
Ich bin auch für eine kritische Anwort offen, aber bitte verständlich formuliert und sachlich begründet.

Der Punkt ist doch, dass Ariva und Onvista für die Bereitstellung der Kursdaten bezahlen und dies für den normalen Gebrauch kostenlos zur Verfügung stellen. Bei regelmäßigen Abfragen von Dutzenden oder gar Hunderter Wertpapiere innerhalb kurzer Zeit fällt dies unter die jeweiligen TOS bzgl automatisierter Abfrage und führt zur Gegenreaktion.

Was @Al2Klimov meint, ist die Begrenzung bzw. der zeitlichen Entzerrung der Kursabrufe. Die Frage ist nur auf welches Limit man sich einigt und wie das durch den Anwender toleriert wird. Andererseits sei mal in den Raum gestellt (wenn schon „professionell“ gearbeitet wird), ob die Kursversorgung gegen Bezahlung nicht sinniger wäre :thinking:

Hier bin ich nicht 100%ig sicher, aber die “historischen Kurse” und “aktuellen Kurse” sind an und für sich gleichwertig. Der Unterschied liegt im Zeitpunkt der Aktualität. Die historischen werden mE i.d.R. bei Programmstart und dann alle 12 Stunden aktualisiert, die aktuellen Kurse hingegen alle 10 Minuten. Und, der aktuelle Kurs ist nur der letzte Kurs, vorherige Tage werden ignoriert.

Was bedeutet dies für dich? Historische Kursversorgung bleibt aktiv und der aktuelle Kurs kann wie der historische Kurs verwendet werden. Denn wenn nur der aktuelle Kurs verwendet wird, muss täglich PP gestartet werden und selbst dann ist nicht sichergestellt das du den Schlusskurs erhältst (Stichwort Uhrzeit).

Vielen Dank, @Ragas, für die guten Überlegungen. Hinsichtlich der Limitierung der Anzahl von Kursdaten sehe ich das auch so, ich habe Ariva gebeten, mir ihr Limit für die Downloads anzugeben. Ich hoffe auf eine Antwort. Mit einer Kursversorgung gegen Bezahlung habe ich bereits jahrelang gute Erfahrungen gemacht (Tai-Pan EoD). Die Kurse sind nach Paketen wählbar, fehlerfrei und stehen regelmäßig zur Verfügung. Interessant wäre es von Usern, die hierzu Erfahrungen haben, mehr zu erfahren (Vollständigkeit, Verfügbarkeit, Paketwahl-Möglichkeit, Preisgefüge).

Was die Einstellungen für den kostenlosen Datendownload bei PP anbelangt, werde ich anhand von Testeinstellungen weitere Erfahrungen sammeln. Für mich als Amateur, der nicht tradet, langt ein Download einmal am Tag eigentlich aus. Für Anlageentscheidungen reicht der langfristige Trend auf jeden Fall aus, auch eine Abweichung von 2-3%-Punkte gegenüber den Kursen von z.B. Banken bei den Performance-Ergebnissen sind m.E. akzeptabel. Die täglichen Kurse an den verschiedenen Börsenplätzen sind eh immer unterschiedlich. Nur sollten nicht soviele fehlende Aktualisierungstage auftreten, wie bei Yahoo in der letzten Zeit bei den ETFs.

@mmu23:
Noch ein Gedanke zu dem Unterschied: Wenn du mal im Urlaub bist bzw. nicht täglich die „aktuellen“ Kurse abfragst, schließt dir die „historische“ Abfrage automatisch alle entstandenen Abfrage-Lücken.
Andererseits macht es daher auch keinen Sinn, ständig die „historischen“ Kurse für einen längeren Zeitraum abzufragen, die man ohnehin schon importiert hat.

VG
B.L.