Gepostet 5 Mai 2024

[Beta für Python-Nutzer] expert Checker reborn

Da ich die Tage zufällig mitbekommen habe, dass expert sein Shopsystem zugunsten einfacher Crawlbarkeit überarbeitet hat, habe ich gestern ein bisschen gebastelt. Dabei herausgekommen ist eine nutzbare Neuauflage des ehemaligen expert Checkers, welcher sich damals einer gewissen Beliebtheit erfreut hat und sogar von anderen Community-Mitgliedern fortgeführt wurde, bis expert uns zunehmend Steine in den Weg gelegt hat.

Damit das nicht direkt wieder passiert, möchte ich das kleine Tool vorerst lieber nur einem kleinen Kreis zur Verfügung stellen. Soll heißen, es läuft nicht im Browser, sondern ihr müsst in der Lage sein, selbstständig ein Python-Script lokal zu starten. Als externes Modul nutze ich lediglich "Requests", die Voraussetzungen sind also denkbar schmal.

Wer Interesse daran hat, das Script zu testen, und technisch auch dazu in der Lage ist, es lauffähig zu machen, darf mich gerne per PN kontaktieren. Ich schicke euch dann den Link und nehme natürlich auch Feedback entgegen, wenn euch irgendwas Komisches auffällt.

  • Disclaimer: Ihr setzt das Programm natürlich auf eigenes Risiko ein. Mir sind zwar keine IP-Sperren oder ähnliche Späße aufgefallen, aber wer es übertreibt, darf sich hinterher bitte nicht beschweren.

Für tiefere Einblicke in die Funktionsweise habe ich eine DEBUG-Konstante integriert. Wenn ihr deren Wert auf "True" setzt, bekommt ihr die einzelnen Schritte der Abfrage genau mit und könnt direkt nachschauen, falls euch etwas seltsam vorkommt.

Ich bastle parallel an einer zweiten Variante, welche über eine separate API den Abruf etwas beschleunigt, aber die folgt dann ggf. später.


Was macht der expert Checker überhaupt?

Ihr gebt den Link zu einem Produkt ein und das Tool durchsucht alle 340 Filialen nach den aktuellen Preisen. Rein lokale Angebote und optional auch Ausstellungsstücke werden dabei herausgefiltert, sodass ihr am Ende die Bestpreise für online bestellbare Angebote erhaltet.
Zusätzliche Info
Sag was dazu

Kategorien

40 Kommentare

sortiert nach
's Profilbild
  1. Barney's Profilbild
    Autor*in
    Schon faszinierend, in wie vielen Fällen es bereits daran scheitert, genau zu lesen, wie man Teil des Tests werden kann.
    stes's Profilbild
    Ja, wohl auch zum Teil Herdentrieb. Nagut ich schreibe eine PN. 🙈
  2. Barney's Profilbild
    Autor*in
    Für alle, die bereits aktive Beta-Tester sind, gibt es unter der identischen URL eine neue Version, die ich heute früh gebastelt habe.

    Änderungen
    - Die Eingabe akzeptiert nun auch einen Suchbegriff. Man benötigt also nicht zwingend die URL des Produkts.
    - Man kann sich jetzt optional auch reine Offline-Angebote anzeigen lassen.
    - Ausstellungsstücke werden, sofern sie denn abgerufen werden, als solche markiert.
    - Es werden sämtliche verfügbaren Angebote aller Märkte angezeigt, sortiert nach Preis und Namen des Marktes.

    Gleichzeitig wurde hier der Grundstein gelegt, um sich künftig an einem asynchronen Abruf der Daten zu versuchen. Dieser sollte die Zeit spürbar beschleunigen, sofern der Server denn mitspielt. (bearbeitet)
  3. Telkamar's Profilbild
    Vielen dank für eure Mühen
  4. Barney's Profilbild
    Autor*in
    Es steht eine neue Version unter der bereits bekannten URL zur Verfügung, welche hoffentlich keine Probleme bei bestimmten Produkten machen sollte.

    Falls ihr doch auf einen Fehler stoßt, aktiviert bitte kurz den Debug-Modus, um die genaue Abfolge nachvollziehen zu können.
  5. Bratgerät's Profilbild
    Man könnte bei der Einbeziehung von Ausstellungsstücken, diese bei der Ausgabe noch kenntlich machen.

    47698382-VqIXl.jpg
    Barney's Profilbild
    Autor*in
    Man könnte noch einiges ergänzen, beispielsweise eine Anzeige der Stückzahl oder ggf. sogar eine Umkreissuche. Das werde ich alles bei Gelegenheit mal angehen, aber dafür überarbeite ich dann auch den Code zur Ausgabe am Ende.
  6. Waffelwurst101's Profilbild
    danke hab schon bisschen mitgelesen vorher. Pünktlich zum neuen Line Up und EM
  7. Paraglider's Profilbild
    Super, hab den als er noch funktioniert hat echt gerne benutzt.

    Besten Dank für deine Neuauflage!
  8. NickLz's Profilbild
    Hey, würde mich freuen wenn ich das Skript testen dürfte.

    Habe vor kurzem selber an einer Lösung gearbeitet, konnte auch ein recht Zeiteffizientes Skript bauen, jedoch waren die Preisdaten nach dem Wiederaufruf des Produkts nicht mehr korrekt :/

    Speicherst du die Cookies?
    Barney's Profilbild
    Autor*in
    Cookies werden nicht benötigt zum Abruf über die API. Oder was genau meinst du?
  9. uBay86's Profilbild
    Habe es mal mit 4 Artikeln getestet. Beim ersten Artikel ist es aus irgendeinem Grund bei Filiale 5 einfach stehen geblieben. Die 3 anderen Artikel liefen problemlos durch.
    Barney's Profilbild
    Autor*in
    Welcher Artikel war das?

    Ich habe eine Schleife drin, die theoretisch ewig laufen kann, wenn der Server nicht mitspielen will. Vielleicht sollte ich das mal entschärfen und nach zehn Anfragen schlichtweg aufgeben.
  10. mac110's Profilbild
    hätte auch Interesse an dem Expert Checker
  11. walsermelanie's Profilbild
    Ich hätte ebenfalls sehr großes Interesse am Expert Checker. Danke im Voraus.
  12. stes's Profilbild
    Hallo,
    ich würde den expert Checker reborn auch gerne ausprobieren. Danke (bearbeitet)
  13. MrSalbei's Profilbild
    My bad (bearbeitet)
  14. klaudinuss's Profilbild
    funktioniert die beta auch unter mac? von hugend gabs ja mal eine anleitung dazu.
    würde es gerne testen bzw. mich als macversion tester anbieten.
    Barney's Profilbild
    Autor*in
    Python ist plattformunabhängig.
  15. SnakeX's Profilbild
    Wäre auch gerne dabei
  16. Barney's Profilbild
    Autor*in
    Guten Morgen!

    Ich habe erneut ein wenig gebastelt und das Programm um eine Umkreissuche ergänzt. Soll heißen, ihr könnt nun eure Postleitzahl eingeben und eine maximale Entfernung in Kilometern definieren, um euch lokale Angebote anzeigen zu lassen. Sofern ein Versand zur Verfügung steht, wird das allerdings in der Ausgabe nach wie vor priorisiert. Mal schauen, ob ich das noch ändere.

    Beachtet bitte, dass zur Bestimmung der Distanz ein externes Modul (geopy.distance) genutzt wird, welches ihr erst installieren müsst.

    Zusätzlich wird nun bei jedem Angebot angezeigt, wie viele Exemplare zur Verfügung stehen. Die Daten liefert der Server eh, ich habe sie nur bislang nicht genutzt.
's Profilbild