Zum Inhalt wechseln


Foto

Buying Piles


  • Bitte melde dich an um zu Antworten
11 Antworten in diesem Thema

#1 cheff Geschrieben 16. Oktober 2019 - 01:10

cheff

    Erfahrenes Mitglied

  • Mitglied
  • PIPPIPPIPPIP
  • 2.446 Beiträge

Moin zusammen,

 

ich weiß nicht, wie üblich meine Situation ist, aber ich komme relativ häufig in die Lage, eine Wants-Liste von so 500-1000 Karten zu haben, deren teuerster Eintrag so um die 5 € liegt; viel Cent-Krempel dabei. Etwas häufiger dürfte  bei anderen wohl vorkommen, dass man so 20-30 10-Cent-Karten braucht, z.B. weil einem die Signets ausgehen; das Problem ist vermutlich vergleichbar.

 

Wie geht ihr in so einem Fall vor?

 

Meine bisherigen Ansätze (Punkte 2-4 einfach ignorieren, wenn ihr keine Informatiker seid; Falls euch gar nicht interessiert, was ich so mache, braucht ihr es auch gar nicht zu lesen...):

 

1) Von Hand suchen. Unendlich aufwändig.

 

2) Tools benutzen, welche die API von Cardmarket benutzen. Leider sind die selten gut; Performance ist miserabel und die Ergebnisse so ab 50 Karten zum Vergessen. Ich zahl dann nicht selten 50% oder mehr Porto; völlig abgesehen von völlig zerstückelten Bestellungen mit entsprechendem Bestellaufwand. Vielleicht kenne ich aber auch einfach nur kein gutes...

 

3) Die Cardmarket-REST-API selbst beballern. Probleme dabei:

- Als nichtkommerzieller User hat man eine Beschränkung von 500 Polls pro Tag - für einen vernüftigen Optimieralgorithmus über mehrere hundert Karten ist das schlicht zu wenig.

- Deren Implementierung von OAuth scheint mir ein bisschen gefrickeltes String-Parsing; zumindest ist es ein bisschen Glücksspiel, ob die Header, die beim einen Call easy durchgehen, beim nächsten noch laufen. Unter diesen Umständen möchte ich auf keinen Fall Daten transferieren, die letztendlich Zugriff auf mein Geld geben.

- Die Statistik-Zugriffe sind kommerziellen Usern vorbehalten. Bin keiner.

Hab bisher nur auf der Sandbox rumgespielt, meine Erlebnisse haben mich aber hart abgeschreckt, ernsthaft Code auf die Live-API zu werfen.

 

4) Clickbots schreiben. Im Moment ist das mein Way to Go (s.u.), wobei ich den in einer VM starte, da deren Content lazy nachgeladen wird, man also kurz warten muss, ehe er via html da ist; sprich der Rechner ist blockiert. Zugriffe direkt über http machen keinen Spaß, sobald die Seite jscript fährt, was cardmarket offensichtlich tut. Das Angebot eines Händlers kann ich mit meinem Verfahren in etwa 10 bis 120 Minuten erfassen, abhängig von seiner Größe. Offensichtlich ist das auch keine Dimension für vernünftige Algorithmik; zumal es wirklich ekelhaftes Geheddere ist, z.B. die Art Series Karten herauszufiltern.

 

5) Bei den großen Tradern bestellen. Damit die aber auch all den Kleinscheiß haben, den man braucht, kann man wirklich nur die ganz großen nehmen; und hier hat man erstens den Nachteil, dass die für 10-Cent-Karten gerne mal 50 Cent haben wollen, und auch bei den etwas teureren Karten so 2-3 € über dem günstigsten deutschen Angebot liegen - sprich mehr, als das separate Porto wäre. Auch habe ich noch nie meine ganze Want-List gefunden, im Bereich 1-3 € von vor 5 oder mehr Jahren sind auch die lange nicht vollständig.

 

Mein derzeitiges Vorgehen: Ich suche mir so 10 bis 20 Karten raus, die ich wirklich dringend haben möchte, für jede davon suche ich die Trader ID der 10 günstigsten Anbieter. Danach lasse ich über Nacht meinen Bot laufen, so dass ich am nächsten Morgen von diesen Tradern (idr sind das ziemlich viele verschiedene) eine txt-File mit dem kompletten Angebot habe. Diese Files gleiche ich dann mit meiner Wants-Liste ab (wie gesagt: Oft scheitert es ein wenig daran, dass ich Art Series Karten finde, portugisische Karten, Oversized Karten... ständig was neues, jedes Mal passe ich meine Filter an und finde doch wieder irgendeinen Schmu, den ich übersehen habe) und finde so ein paar Händler, deren Angebot ich dann noch einmal, hübsch aufbereitet, durchklicken kann, um zu markieren, was mich evtl. noch interessiert. Daraus erstellt mein Programm dann eine Liste pro Trader, die ich händisch bei cardmarket bestelle (dabei stelle ich dann auch so fails wie Weltmeistereditionen fest). Das ist halbwegs geeignet gewesen, um meinen Commander-Stock aufzufüllen; allerdings hab ich idR nur so 20% meiner Wantliste gefunden.

 

Jetzt bin ich in der Situationen, dass ich die "wäre cool"-Karten in Hülle und Fülle habe und eben nur noch meine Wantlist bestellen möchte (wieder einmal ein paar hundert Karten). Was tun?



#2 Necronlord Geschrieben 16. Oktober 2019 - 06:53

Necronlord

    Erfahrenes Mitglied

  • Mitglied
  • PIPPIPPIPPIP
  • 1.299 Beiträge

Ich nutze eigentlich immer die Want-List von MKM. Klar geht es sicherlich günstiger, allerdings ist es mir bei Cent-Karten den Aufwand nicht wert. Klar - dann kommen halt viele Bestellungen an, aber das ist nunmal so - entweder du bestellst bei vielen Leuten, so dass es günmstiger wird als bei nem Händler, oder du gehst zum Händler.

Edit: Assisprache korrigiert.


Bearbeitet von Necronlord, 16. Oktober 2019 - 10:30.

Modern: {U} {W} ( {G} / {B} )Control  {R}  {G} Titanshift {R} Prowess

 

Mein Zug, Island Go

Ich countere deine Spells

du schiebst zusammen

 

EDH: {B} Kokusho, the Evening Star {R} {G} {W} Gishat, Suns Avatar {G} {W} {U} Estrid, the Masked

 

Schaut doch mal bei meiner Folk Metal Band vorbei

www.devilsmusement.de


#3 Sterni Geschrieben 16. Oktober 2019 - 07:30

Sterni

    MQU Commander 16

  • Moderator
  • PIPPIPPIPPIPPIP
  • 6.157 Beiträge
  • Level 1 Judge
Wer in seiner "Crap" Kiste zu faul zum Suchen ist, kann auch n Bissel mehr zahlen.

Oder sich halt doch hinsetzen und crap sortieren.

Ja, dauert, aber bei mir z. B. Finde ich jede Karte, wenn ich sie habe, in maximal 10 Minuten. Wovon 9 das Durchsuchen möglicher Decks ist.
Will sagen, bei mir ist grundsätzlich alles sortiert.

Wissen ist Macht, nichts wissen macht auch nix.r
comprehensive rules:http://magic.wizards...prehensiverules.


Karten Verlinken: [.Card] Black Lotus [/Card.] ohne Punkte = Black Lotus


#4 Retronasale Aromatherapie Geschrieben 16. Oktober 2019 - 07:36

Retronasale Aromatherapie

    Big Furry Monster

  • Mitglied
  • PIPPIPPIPPIPPIP
  • 5.378 Beiträge

Warum hast du den Einkaufshelfer von MKM nicht gelistet?

Es ist nicht wirklich optimiert, aber ganz ok. und man kann oft von Hand selbst noch recht easy ein paar Optimierungen machen.

 

Edit: Achja, sofern das Programmieren von Bots und Rechner über Nacht laufen lassen nicht zu deinen Hobbies zählt und dir Freude im Leben bringt, handelst du vollkommen irrational. Die paar Cent, die du mit der riesen Aktion sparst sind doch nicht Stunden an Aufwand wert.


Bearbeitet von Cola, 16. Oktober 2019 - 07:40.

ehemals ein schwarzes Kaltgetränk aus Kolanuss


#5 cheff Geschrieben 16. Oktober 2019 - 07:57

cheff

    Erfahrenes Mitglied

  • Mitglied
  • PIPPIPPIPPIP
  • 2.446 Beiträge

Wer in seiner "Crap" Kiste zu faul zum Suchen ist, kann auch n Bissel mehr zahlen.

 

Ich hab die Karten nicht, bzw. brauche sie öfter, als ich sie habe. Meine Karten sind 1A sortiert, wenn ich sie hab und sie nicht verbaut ist, finde ich sie in 2 Minuten.

 

Zum Proggen: Erstmal ja, ich progge gern kleine Tools, kann man durchaus als Hobby betrachten. Trotzdem hab ich mir ausgerechnet, ob es sich lohnt. Im Moment liege ich bei meinen Bestellungen bei einem Kartenpreis von 17 bis 19 Cent (schlicht und ergreifend alle Kosten, inkl. Porto, aufaddiert und durch die Kartenzahl geteilt). Das ist jetzt über fünf oder sechs Bestellzyklen ziemlich konstant. Wenn ich den einfachsten Weg gehe, sprich bei einem großen Trader bestelle, liegt dieser durchschnittliche Kartenpreis idR bei erschreckenden 50 bis 80 Cent (Eine Craprare kostet beim Trader oft das 2-3fache; eine Moneyrare nur 10-20% mehr, sprich mehr Craprares => teurer, mehr Moneyrares => billiger). bei 1000 Karten reden wir also von 310-630 €; dafür kann man mal nen Tag programmieren. Dazu kommt, dass ich mir oft Ansichten dazuprogrammiere, die ich einfach übersichtlicher finde als Cardmarket. Mich nervt es, hovern zu müssen, um die Karte zu sehen.

 

Zum Einkaufshelfer: Was ist das? XD Vielleicht ist das ja das Dingen, das ich suche, und einfach zu blöd bin zu finden...



#6 Retronasale Aromatherapie Geschrieben 16. Oktober 2019 - 08:27

Retronasale Aromatherapie

    Big Furry Monster

  • Mitglied
  • PIPPIPPIPPIPPIP
  • 5.378 Beiträge

Auf MKM gibt es ja die Möglichkeiten Wantlists anzulegen (z.B. für jedes Deck eine, usw.).

Dort lässt sich auch Sprache, Zustand, Edition, usw. angeben.

Wenn du diese Liste öffnest gibt es dann die Option Einkaufshelfer. Es zeigt dir auch an welcher Händler die größte Menge der Karten hat und wie der Preis dieser Karten zusammen ist.

Beim Einkaufshelfer kann man dann noch Dinge angeben wie Porto minimieren, Bestellungsanzahl minimieren, nur deutsche Händler, usw.

 

Ich weiß nicht wie der Algorithmus funktioniert, er optimiert definitiv nicht so wirklich, ist aber natürlich schon mal deutlich besser als einfach bei einem einzelnen großen Händler ohne Vergleich alles zu bestellen.

Gerade wenn auch einige etwas teurere Karten dabei sind kann man oft auf dem Vorschlag des Einkaufshelfers aufbauen und dann den Warenkorb händisch noch etwas anpassen.

Ich sage der Algorithmus optimiert nicht, weil ich es schon öfter erlebt habe, dass ich einfach den Vorschlag übernommen habe und dann festgestellt habe, dass z.B. bei zwei Händlern jeweils 50% der Karten gekauft wurden, einzelne teurere Karten waren aber bei beiden im Inventar und es wurde die teurere gewählt. Es wäre also noch eine Schleife sinnvoll, die nach der Vorschlagserstellung zumindest unter den "eingeloggten" Händlern nochmal die optimale Kombination raussucht.


Bearbeitet von Cola, 16. Oktober 2019 - 08:29.

ehemals ein schwarzes Kaltgetränk aus Kolanuss


#7 Necronlord Geschrieben 16. Oktober 2019 - 08:41

Necronlord

    Erfahrenes Mitglied

  • Mitglied
  • PIPPIPPIPPIP
  • 1.299 Beiträge
Ich weiß nicht wie der Algorithmus funktioniert, er optimiert definitiv nicht so wirklich, ist aber natürlich schon mal deutlich besser als einfach bei einem einzelnen großen Händler ohne Vergleich alles zu bestellen.

 

Das Problem ist, dass es vom Rechenaufwand einfach fast nicht möglich ist, alle Händler zu durchsuchen, da es einfach zu lange dauern würde. Deswegen sucht der Einkaushelfer nicht über alles und jeden, aber funktioniert ganz gut. Erst recht bei Karten im Cent Bereich kann man hier viel geld sparen im vergleich zum Kaufen bei großen Händlern und viel Zeit sparen im Vergleich zum zusammensuchen. Wenn man viel im 1-5€ Bereich bestellt, lohnt sich nochmal das anschauen der einzelnen Verkäufer, bei kleinen Commanderkarten im Wert vo wenigen Cent würde ich fast sagen, dass es die 1-2€ Ersparnis vermutlich nicht Wert sind.

Want-Liste erstellen -> Darunter müsste dann Einkaushelfer stehen. Dort kannst du dann verschiedene Einstellungen treffen. Funktioniert ziemlich gut - ich denke, dass du auf die schnelle und ohne eine Serverfarm, die dir das auch berechnet, nichts besseres Programmieren kannst.


Modern: {U} {W} ( {G} / {B} )Control  {R}  {G} Titanshift {R} Prowess

 

Mein Zug, Island Go

Ich countere deine Spells

du schiebst zusammen

 

EDH: {B} Kokusho, the Evening Star {R} {G} {W} Gishat, Suns Avatar {G} {W} {U} Estrid, the Masked

 

Schaut doch mal bei meiner Folk Metal Band vorbei

www.devilsmusement.de


#8 Gast_Vistella_* Geschrieben 16. Oktober 2019 - 08:45

Gast_Vistella_*

    Most Qualified User Singleton

  • Mitglied
  • PIPPIPPIPPIP
  • 4.711 Beiträge

alternativ gibts auch noch den Wantslist Optimizer (http://magiccardwant...dex.php?lang=en), bin mir aber nicht sicher, ob der noch gepflegt wird, da ich ihn schon länger nicht mehr genutzt habe



#9 P0LTERGEIST Geschrieben 16. Oktober 2019 - 10:39

P0LTERGEIST

    Erfahrenes Mitglied

  • Mitglied
  • PIPPIPPIPPIP
  • 2.495 Beiträge

 Bestellungen mit entsprechendem Bestellaufwand. Vielleicht kenne ich aber auch einfach nur kein gutes...

 

3) Die Cardmarket-REST-API selbst beballern. Probleme dabei:

- Als nichtkommerzieller User hat man eine Beschränkung von 500 Polls pro Tag - für einen vernüftigen Optimieralgorithmus über mehrere hundert Karten ist das schlicht zu wenig.

 

 

 

 

 

Was bekommst du den Pro anfrage nach Karte X als Antwort raus? Pro Artikel 1.000 Einträge wenn ich das auf die schnelle richtig sehe. Da reicht pro version jeder Karte doch eine Anfrage. Verkäufer 1001 wird im schnitt sicher vom günstigen Preis so weit entfernt sein das der zu vernachlässigen ist. Zur Not sammelst du die Daten über drei vier tage nimmt dann von jeder Karte den Durchschnittspreis (evtl. verschiedene Mittelwerte für bessere ) der ersten x Angebote und lässt dann dein Programm die Datenmenge um alles Reduzieren was x cent über dem Mittelwert liegt. Alleine durch gruppieren nach Verkäufern sollten da jetzt ordentliche Einkaufsvorschläge raus kommen ...



#10 cheff Geschrieben 16. Oktober 2019 - 13:59

cheff

    Erfahrenes Mitglied

  • Mitglied
  • PIPPIPPIPPIP
  • 2.446 Beiträge

alternativ gibts auch noch den Wantslist Optimizer (http://magiccardwant...dex.php?lang=en), bin mir aber nicht sicher, ob der noch gepflegt wird, da ich ihn schon länger nicht mehr genutzt habe

 

Hab früher mit dem Entwickler gezockt, kenne das Tool und hab mich mit ihm über meine Probleme unterhalten. Er meinte auch, dass das Tool für meinen Use Case nicht unbedingt die beste Wahl ist und eine entsprechende Änderung zu aufwändig wäre (deshalb bin ich überhaupt erst auf die Idee gekommen, es selbst zu coden).

 

Was bekommst du den Pro anfrage nach Karte X als Antwort raus? Pro Artikel 1.000 Einträge wenn ich das auf die schnelle richtig sehe. Da reicht pro version jeder Karte doch eine Anfrage. Verkäufer 1001 wird im schnitt sicher vom günstigen Preis so weit entfernt sein das der zu vernachlässigen ist. Zur Not sammelst du die Daten über drei vier tage nimmt dann von jeder Karte den Durchschnittspreis (evtl. verschiedene Mittelwerte für bessere ) der ersten x Angebote und lässt dann dein Programm die Datenmenge um alles Reduzieren was x cent über dem Mittelwert liegt. Alleine durch gruppieren nach Verkäufern sollten da jetzt ordentliche Einkaufsvorschläge raus kommen ...

 

Ja, für eine erste Übersicht funktioniert das. Porto bekomme ich zwar so nicht; aber das kann ich mit Durchschnittswerten aus einer Tabelle nach Land holen; ist eine ausreichende Näherung. Problematisch ist, dass ich filtern möchte - ich will halt nicht alle Brainstorm 4th, sondern die ab EX aus Deutschland mit einer Käuferbewertung ab 4 Sternen (z.B.). Und da hatte ich zumindest auf der Sandbox teilweise Probleme, meinen Query überhaupt zu formulieren, öfter aber das Problem, dass es teilweise über Header, teilweise über die URL codiert werden muss. Header waren, wie gesagt, immer etwas problematisch (wie gesagt, ich vermute wild, dass da ein recht banaler String-Parser einfach die Header des HTTP-Request auseinanderdröselt, bei fancy Planeswalkernamen mit Kommata war das zumindest immer etwas fragwürdig). Zumindest habe ich ziemliche viel Zeit darauf verbraten, zu sehen, inwieweit die Doku tatsächlich die API widerspiegelt, und nach einer Woche beschlossen, dass sich dieser Aufwand nicht lohnt.

 

Wie gesagt, nur auf der Sandbox; vielleicht ist das Produktivsystem da besser.



#11 Retronasale Aromatherapie Geschrieben 16. Oktober 2019 - 14:13

Retronasale Aromatherapie

    Big Furry Monster

  • Mitglied
  • PIPPIPPIPPIPPIP
  • 5.378 Beiträge

 

ich will halt nicht alle Brainstorm 4th, sondern die ab EX aus Deutschland mit einer Käuferbewertung ab 4 Sternen (z.B.).

 

Wie gesagt, das ist über die Wantsiste + Einkaufshelfer von MKM schon mehr oder weniger genau so abgebildet.


ehemals ein schwarzes Kaltgetränk aus Kolanuss


#12 TRO Geschrieben 16. Oktober 2019 - 16:17

TRO

    Erfahrenes Mitglied

  • Mitglied
  • PIPPIPPIPPIP
  • 1.144 Beiträge

aber NP harte Probleme lösen macht einfach Spaß - und nichts anderes ist das - ein klassischer Fall des Rucksackproblems.

 

Wenn du es selbst machst, würde ich die MKM Seite parsen, da gibts schon einige fertige Libs auf Github für.

 






© 2003 - 2016 | @MTG_Forum auf Twitter | MTG-Forum.de auf Facebook | Impressum | Disclaimer/Datenschutz | Magic-Markt | DeckStats
Diese Webseite steht in keiner Verbindung zu Wizards of the Coast, Inc. oder Hasbro, Inc. Magic: The Gathering ist ein eingetragenes Warenzeichen von Wizards of the Coast, Inc, einem Tochterunternehmen von Hasbro, Inc. Alle Rechte an den Kartennamen, dem Tap-Symbol, den Mana-Symbolen und den Editions-Symbolen liegen bei Wizards of the Coast, Inc. Alle Rechte an Bildern liegen bei dem jeweiligen Künstler oder Wizards of the Coast, Inc. Alle Rechte vorbehalten.