Automatisches erstellen der Userfiles aus der Datenbank von transfermarkt.de

Begonnen von mcflym, 02. November 2016, 21:37:13

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

mcflym

Hallo Leute,

hat transfermarkt.de eine API oder gibt es dort die Möglichkeit den kompletten Datenbestand zu laden?

So könnte man doch ohne großen Aufwand (natürlich muss es erst programmiert werden) die Daten von dort durch diverse Algorithmen jagen (z.B. alles ab 20 Mio Marktwert Stärke 12, etc...) und so easy die Datensätze erzeugen und das tagesaktuell.

Auch könnte man die Algorithmen soweit treiben, dass man die Marktwertkurve z.b. dazu nimmt um ein Talent zu bestimmen, dann in Abhängigkeit von Alter, usw... die Stärken bestimmen.

Was denkt haltet ihr davon? Oder gab es schon solche Überlegungen und ich habe sie übersehen?

Hammermolch


dAb

Transfermarkt hat keine API oder ähnliches. Wären ja auch irgendwo blöd, wenn die Leute dort sich die Arbeit machen und andere es dann "klauen". Habe mir zwar mal die Mühe gemacht das alles von deren Homepage zu lesen, aber dann hatten die auf das neue Design umgestellt und die ganze Arbeit war auch wieder hinfällig.

Aber man könnte zumindest mal überlegen welche Wege es denn sonst noch gäbe um effektiver an dem Userfile zu arbeiten, in dem man vllt auch komplett auf den A3-Editor verzichtet. Vorschläge sind gern gesehen. ;)
AJFM:
Meister: 1, 5, 6, 7, 13, 16, 28, 32
Pokal: 23, 32
Supercup: 8, 14, 17, 20, 26

:joint:

Kraudi

Schwierig. Sinn machen tut das ganze Grundsätzlich schon. Mit den Jahren wird es halt auch immer weniger geben die beim erstellen eines Datensatzes helfen (Was aber auch normal ist für ein 16 Jahre altes Spiel). Dahingehend lohnt sich das also sicherlich. Aber der Aufwand dürfte doch enorm hoch sein. Und so ganz spontan würde mir auch kein vernünftiger Ansatz einfallen.

bloodhound83

Ich hatte vor ein paar Jahren mal einen Converter geschrieben der die Anstoss 3 sav Dateien zu XML exportiert und von da auch wieder in sav improtiert. (http://fmwelten.de/forum/index.php/Thread/21823-Anstoss-3-Datenbank-Konverter-Daten-mit-Excel-Bearbeiten-Version-2-0/?s=34127fe6ba9116ed335d8460bada824864f65d18)

Ich glaube es war damals noch etwas Buggy und ich hatte ihn auch nicht weiterprogrammiert.

Ich würde evtl. nochmal ein neues Project anfangen wenn es denn Interesse gibt.

Vielleicht in Python, was dann auch etwas einfacher verständlich wär.

Welches Format würde es denn einfacher machen die Daten schneller zu bearbeiten. z.b. Excel, XML, SQL...
Wenn man die Daten erstmal in diesem Format hat könnte man auch nochmal schauen ob man gewisse Daten auch automatisiert von Wesbseiten laden kann.



dAb

AJFM:
Meister: 1, 5, 6, 7, 13, 16, 28, 32
Pokal: 23, 32
Supercup: 8, 14, 17, 20, 26

:joint:

Molotov

Hallo Leute, ich hab mal n Weg gefunden, die meisten Spielerdaten da "rauszukratzen". Rohdaten würden in etwa so aussehen:
[attachment id=0 msg=311398]

Jetz würd ich gern n Programm schreiben, dass automatisch diese Daten umwandelt und passend in die jeweiligen Landxy.sav-Dateien reinschreibt:
[attachment id=1 msg=311398]

- Grün markierte Punkte kann man direkt aus den Rohdaten umwandeln
- die Blauen sollen je nach Nationalität "kontrolliert zufällig" generiert werden, damit es zumindest keine schwarzen Manuel Neuers mit grauen Haaren oder sowas gibt
- Rote Punkte versteh ich leider überhaupt nicht wie die zustandekommen, weiss dass hier zufällig jemand?

Ne Idee bezüglich der Umwandlung von Marktwerten zu Stärke/Talent wäre diese nach Position/Alter zu analysieren und danach jeweils die Grenzen zu setzen.





dAb

Top. :ok:

Gucke mal bitte in den XML Converter. https://www.anstoss-juenger.de/index.php?action=downloads;sa=view;down=331

Dort gibt es im Excelsheet Erklärungen.

Ansonsten schaue mal in diesen Thread, da gibts auch paar Erklräungen:

https://www.anstoss-juenger.de/index.php/topic,35.0.html
AJFM:
Meister: 1, 5, 6, 7, 13, 16, 28, 32
Pokal: 23, 32
Supercup: 8, 14, 17, 20, 26

:joint:

Molotov

Ahh ja danke, hatte erst das falsche Excel Blatt angeschaut.  :wand:

alesch

"Kalou ist kein Einzelfall." - Heiko Herrlich       "Es ist zum Haare raufen." - Sancho zu Akanjis Friseur.       "Ist das nun das Ende vom Anfang?" - Joshua Kimmich

bloodhound83

Zitat von: Molotov am 19. Juli 2018, 00:29:41

Jetz würd ich gern n Programm schreiben, dass automatisch diese Daten umwandelt und passend in die jeweiligen Landxy.sav-Dateien reinschreibt:
[attachment id=1 msg=311398]

- Grün markierte Punkte kann man direkt aus den Rohdaten umwandeln
- die Blauen sollen je nach Nationalität "kontrolliert zufällig" generiert werden, damit es zumindest keine schwarzen Manuel Neuers mit grauen Haaren oder sowas gibt
- Rote Punkte versteh ich leider überhaupt nicht wie die zustandekommen, weiss dass hier zufällig jemand?

Ne Idee bezüglich der Umwandlung von Marktwerten zu Stärke/Talent wäre diese nach Position/Alter zu analysieren und danach jeweils die Grenzen zu setzen.

In welcher Programmiesprache schreibst du denn Umwandlungsprogramm?
Ich habe noch etwas Python code fuer solche sachen Rumliegen.

Vielleicht könnte man ja mal eni Gemeinschafts-Gepository bei GitHub oder BitBucket machen, dann finden sich vielleicht auch eher Leute die mitmachen.

Vielleicht kriegt man dan etwas was dann viele auch nutzen können.

Molotov

Ich schreibs in Java, hab leider keine Ahnung von Python. Zur Vorgehensweise: Die Rohdaten säuber ich erst noch mit R und dann les ich die neue csv-Datei in dem Java Programm ein, welches dann die Spielerdaten dementsprechend umwandelt oder zufällig generiert (nach Nationalität oder Stärke) und anschließend in die sav-Datei reinschreibt. Die passende Stelle wird durch den Vereinsnamen und %SECT%SPIELER erkannt. Das ist zumindest der Plan, noch ist aber nicht viel fertig.

Die ganzen Umwandlungen sollten trivial sein deinem Excel sheet sei Dank. :ok: Ein Problem ist halt, dass die Vereinsnamen nicht mit denen bei Anstoss 1:1 übereinstimmen, also wird das noch Handarbeit brauchen. Die ganzen Daten hol ich mir erst nach Ende der Transferperiode am Anfang September, also ist bis dahin noch genug Zeit. Da dies nur Spielerdaten betrifft, müssen restliche Sachen wie Trainer, Manager oder Vereinsdaten wie Trikot etc. im Editor aktualisiert werden, was eigentlich auch jetzt schon gemacht werden kann.

Frosch

Da klingt vielversprechend. Wäre es möglich das so zu gestalten, dass die Daten sowohl für A3, also auch für A2 eingelesen werden können?

Bolero78

Klingt wirklich spannend, das Projekt.
Die Anwendung auch für A2G wäre ein Traum, weil es auch dieses Jahr wieder einen Datensatz geben soll/wird... ;)

dAb

Zitat von: Molotov am 01. August 2018, 15:30:59
Ich schreibs in Java, hab leider keine Ahnung von Python. Zur Vorgehensweise: Die Rohdaten säuber ich erst noch mit R und dann les ich die neue csv-Datei in dem Java Programm ein, welches dann die Spielerdaten dementsprechend umwandelt oder zufällig generiert (nach Nationalität oder Stärke) und anschließend in die sav-Datei reinschreibt. Die passende Stelle wird durch den Vereinsnamen und %SECT%SPIELER erkannt. Das ist zumindest der Plan, noch ist aber nicht viel fertig.

Die ganzen Umwandlungen sollten trivial sein deinem Excel sheet sei Dank. :ok: Ein Problem ist halt, dass die Vereinsnamen nicht mit denen bei Anstoss 1:1 übereinstimmen, also wird das noch Handarbeit brauchen. Die ganzen Daten hol ich mir erst nach Ende der Transferperiode am Anfang September, also ist bis dahin noch genug Zeit. Da dies nur Spielerdaten betrifft, müssen restliche Sachen wie Trainer, Manager oder Vereinsdaten wie Trikot etc. im Editor aktualisiert werden, was eigentlich auch jetzt schon gemacht werden kann.

Es wäre aber nicht schlecht wenn wir das vorher schon mal testen könnten. Nicht, dass uns dann im September das böse Erwachen trifft und wir mit gar nichts dastehen.

Ich weiß noch bei meinem alten Tool hatte ich nach der Integration irgendwelche Probleme mit Belgien. Glaube da kam immer ein Fehler im Editor, den man wegklicken musste. :tuete:
AJFM:
Meister: 1, 5, 6, 7, 13, 16, 28, 32
Pokal: 23, 32
Supercup: 8, 14, 17, 20, 26

:joint: