Liste mit Amazon Bestellungen exportieren

Julian —  4. August 2013 — 63 Comments

2279398155_dfc2bea350_bAmazon hat gerade verschiedenen Kunden, die angeblich zu viele Rücksendungen hatten, das Konto gesperrt, so dass sie keine weiteren Bestellungen mehr vornehmen können. Aufgrund der Vertragsfreiheit in Deutschland kann natürlich keine Firma gezwungen werden Verträge abzuschliessen und das Vorgehen ist wohl rechtlich in Ordnung. Blöd ist es natürlich trotzdem, wenn man einen Kindle hat, für den man dann ja keine weiteren Bücher mehr kaufen kann. Oder wenn man bei Amazon AWS etwas hostet. Amazon sperrt nämlich ALLE Accounts, nicht nur die für den Shop.

Mich hat in dem Zusammenhang interessiert, wie viel Geld ich eigentlich schon bei denen gelassen habe. Immerhin bin ich seit 1999 Kunde. Zwar kann man alle Bestellungen einsehen, aber es gibt leider weder eine Statistik noch die Möglichkeit die Daten zu exportieren um dann in Excel selbst eine Gesamtsumme ausrechnen zu können. Offensichtlich wollen die gar nicht, dass ich weiss wie viel Geld ich ihnen, insbesondere wegen der einfachen Rücksendemöglichkeiten, schon hinterhergeworfen habe.

Ich habe allerdings beim Suchen in einem Forum ein Script gefunden, mit dem man die Daten aus den Webdaten abgreifen und dann weiter bearbeiten kann. Das ganze dauert etwa 2 Minuten und geht so:

  1. Das Script “amazonorders.zip” runterladen und lokal irgendwo entpacken
  2. Firefox starten
  3. “about:config” aufrufen und dort die Option “devtools.chrome.enabled” auf “true” setzen
  4. Mit dem Firefox bei amazon.de einloggen
  5. Den Menüpunkt Firefox->Web-Entwickler->JavaScript-Umgebung aufrufen
  6. In dem JS-Fenster die entpackte Datei “amazonorders.js” öffnen
  7. Den Menüpunkt Umgebung->Browser anwählen
  8. Das Script unter Ausführen->Ausführen (oder mit Strg+R) starten

Das Script öffnet dann eine Menge Tabs, liest die ganzen Bestellungen aus und generiert eine nette Liste und sogar eine komplette Gesamtübersicht inkl. Umsatz pro Jahr und Gesamt. Die Daten kann man im Firefox einfach markieren und dann in Excel einfügen und weiter bearbeiten. Mein Umsatz war übrigens dreimal so hoch wie ich vorher geschätzt hatte.

Update: Da Amazon inzwischen das Seitenlayout geändert hat, funktionierte das Script einige Zeit nicht. Inzwischen hat sich aber jemand erbarmt und den Fehler gefixt. Hier ist der Download der neuen Version “amazon-parser-master.zip

(Bild CC)

63 responses to Liste mit Amazon Bestellungen exportieren

  1. Sauber – funktioniert 1a! Hätte jetzt auch wesentlich weniger erwartet… Bisher hatte ich mit ioutbank den Überblick behalten, aber das ist noch detailierter.

  2. Ähm…. Ich glaub ich mach mal ne Pause von Amazon

  3. Tja… das ist der Fluch von javascript, sollten sie nicht wollen, dass das jeder aufrufen kann, war das mal echt ungeschickt…

  4. Anschließend überträgt das Skript dann noch deine Amazon Accountdaten an den Entwickler und zu guter letzt wird fleißig auf deine kosten eingekauft.

  5. Klasse Arbeit funktioniert prima, sagt ein Programmierkollege.
    Die Zahlen sind erschreckend und wie schon erwähnt fehlt das den regionalen Händlern. Danke fürs Augen öffnen.

  6. Das Update funktioniert prima auf Firefox 44.0.2 (Betriebssystem openSUSE 13.2) – Klasse Übersicht! Ich werde in Zukunft etwas genauer überlegen, ob ich einen Artikel brauche oder nicht. Da könnte mit der Ersparnis ein ganzer Familienurlaub raus springen.
    Vielen Dank für die Erleuchtung!

  7. Hallo, scheinbar verursachen die 0€ App Einkäufe (FireTV) Probleme im Skript.

    Das Hinzufügen von:
    if (nameElements[ j ].getElementsByTagName(‘A’)[0])
    in Zeile #87 hat das Problem bei mir behoben.

    • Hallo Rüdiger,

      könnten sie evtl. ihr geändertes Script zur Verfügung stellen, oder beschreiben, welcher Coder ersetzt werden muss? Ein Einfügen in Zeile 87 führt bei mir zu einem Fehler.

      Beste Grüße,
      Dankeschön.

  8. Wie wäre es das Skript als Chrome Plugin zu veröffentlichen, … das wird bestimmt nachgefragt, denn eine vergleichbare Statistik muss man sonst schriftlich bei Amazon anfordern.

  9. Bei mir läd er alle Tabs außer die Jahre 2014 und 2016.

    2016: X………….X
    2015: XXXXXX
    2014: X………X

    Woran kann das liegen?
    Auch schon auf nem anderen PC getestet. Gleiches Problem

    • for( var j = 0; j < nameElements.length; j++ )
      {
      if (nameElements[ j ].getElementsByTagName('A')[0])
      {
      names.push( nameElements[ j ].getElementsByTagName('A')[0].innerHTML.trim() );
      }

      }

      So muss das Skript ab Zeile 85 aussehen, Rüdiger hat das schon richtig geschrieben, aber die Anführungszeichen werden unter Umständen falsch kopiert und die Klammern müssen auch sein für die Leute, die gar nichts mit Programmieren am Hut haben

  10. Funktioniert nicht. Zeigt bei mir nur Xe und Punkte an.

  11. Vor ein paar Monaten hat es mal geklappt. jetzt nicht mehr. Ein paar Seite vor 2005 – aber nicht immer dieselben – werden nicht ausgewertet und bleiben “.” statt “x”.

    Nicht ganz so schlimm, wenn ich wenigstens das aktuelle Jahr kriegen würde.

    Aber ich steige durch das JS script nicht durch – ist einfach nicht meine Welt, bin eher in C++, Perl und damit nicht in Browserumgebungen unterwegs,

    Kann mir jemand aushelfen?

  12. Ich kann Amazon, hier nur rechtgeben. Grundsätzlich kosten sinnlose Bestellungen und Rücksendungen viel Geld, welches wohl oder übel auf die Gesamtheit der Kunden abgewälzt werden muss und zwar

    A. Durch Einsparungen am Produkt selbst (niederwertigere Produkte).

    B. Durch generell höhere Preise als es sonst der Fall wäre.

    Das Ergebnis ist man bekommt mit der Zeit zunehmend weniger für sein Geld. Das muss nicht sein wenn man sich überlegt was, wie und warum man sich etwas kauft. Das hat man schließlich früher auch gemacht.

    Die Sperrung von Kunden die Amazon als Entertainmentplattform nutzen (kaufen, spielen, langweilen, zurücksenden) ist daher für die Gesamtheit der Käufer eine gute Sache.

  13. Also bei mir funktioniert das nicht, es wird ein Tab mit meine Bestellungen aufgemacht und das wars.
    Weiß vielleicht jemand warum?

  14. Hallo und Danke für das Script. Habe den FIX von Fixer eingefügt, dann lief es durch . Habe aber für die Jahre 2014 und 2015 nur ein “NaN,undefined” in der Tabelle stehen. Jemand ne Idee? Irgendein Bestelluings-Eintrag muss das Script aus der Bahn werfen.

  15. Danke, funktioniert wunderbar.

    • Mich hat diese Bestellungsübersicht ebenfalls interessiert. Hier ein kurzes Update für andere die hier Probleme haben…!

      Zunächst: die Bedenken von Mmm kann ich nicht teilen. Jeder kann das angeführte Script zunächst prüfen und schauen, was hier ausgeführt wird! Ich konnte keinen “bösen” Code entdecken.

      Man kann das Script auch mit aktuellen Firefox Versionen nützen, die Punkte 5-8 ändern sich. Die im Blog beschriebenen “JavaScript Umgebung” hat sich geändert (die verwendete Javascript Eigenschaft gBrowser ist dort nicht mehr verfügbar). Es gibt aber eine Alternative! (außer das die alte Firefox Version verwendet wird)

      Zunächst die Änderung von Fixer übernehmen. Dazu Zeile 87 ersetzen durch: if (nameElements[ j ].getElementsByTagName(‘A’)[0]) { names.push( nameElements[ j ].getElementsByTagName(‘A’)[0].innerHTML.trim() ); }

      Anschließend Browser Console öffnen (Ctrl+Shift+J).
      Dort den gesamten Inhalt der Javascript Datei kopieren (Strg+A, Strg+C) und in Browser Console ganz unten einfügen… bei >> . Anschließend Enter, damit der Code ausgeführt wird.

      (Ich war vorher noch nicht bei amazon angemeldet, musste mich daher anmelden und das ganze nochmals ausführen).

      Anschließend öffnet sich pro Jahr pro 10 Bestellungen je ein Browsertab. Das ganze läuft eine Zeit und sobald alles fertig ist, bleibt ein Tab mit einer Tabelle offen – der Rest wird wieder geschlossen. Im offenen Tab wird dann die Summe pro Jahr bzw. gesamt aufgelistet.

  16. funktioniert leider irgendwie nicht oder ich bin zu dumm. gibts das zum download in aktueller fassung ?

  17. Christoph Tendies 20. November 2017 at 15:47

    Funktioniert super mit Firefox portable!
    Über das Ergebnis war ich erstaunt und erschrocken. Was haben die im Laufe der Jahre für einen Umsatz mit mir gemacht!
    Danke für die zur Verfügungstellung des Scriptes.

  18. Wow, das ist mal ein cooles Tool. Hat mit dem Fix perfekt funktioniert!
    Dankeschön!

  19. Wenn jemand mit einen englischen Umgebung die „JavaScript-Umgebung“ in FireFox sucht, findet es unter die Menüpunkt: „Scratchpad“.

  20. In FireFox 63.0.3 (64-bit) MacOS finde ich die Umgebung Einstellung von gBrowser nicht; vorher war es im Menü, oder? Es war mal in Englisch als “Environment → Browser” einstellbar. Finde ich nicht mehr.

    Ich bin keine Programmierer, deswegen zwei noob Fragen:
    1. Hat die seit November 2017 Extensions mit WebExtensions AP Einfluss auf den Script?
    2. Kann die Umgebungsvariable gBrowser=Browser nicht im Script eingebaut werden?

    • Gefunden nach FireFox Update. “Umgebung” war plötzlich da!

      Firefox -> Tools -> Web Developer -> Scratchpad .> Environment -> Browser

      The script now produces errors / Nun liefert der Script Fehlemeldungenr:

      ———————————— Start ————————————————————————
      mainBrowser.addEventListener( “load”, loadYearCount, true );

      /*
      Exception: Error: Required argument triggeringPrincipal missing within addTab
      addTab@chrome://browser/content/tabbrowser.js:2225:13
      @Scratchpad/8:378:15
      getEvalResult@resource://devtools/shared/base-loader.js -> resource://devtools/server/actors/webconsole/eval-with-debugger.js:134:18
      exports.evalWithDebugger@resource://devtools/shared/base-loader.js -> resource://devtools/server/actors/webconsole/eval-with-debugger.js:105:18
      evaluateJS@resource://devtools/shared/base-loader.js -> resource://devtools/server/actors/webconsole.js:1014:22
      evaluateJSAsync@resource://devtools/shared/base-loader.js -> resource://devtools/server/actors/webconsole.js:952:22
      onPacket@resource://devtools/shared/base-loader.js -> resource://devtools/server/main.js:1721:15
      send/ resource://devtools/shared/transport/local-transport.js:64:11
      exports.makeInfallible/ resource://devtools/shared/ThreadSafeDevToolsUtils.js:109:14
      exports.makeInfallible/ resource://devtools/shared/ThreadSafeDevToolsUtils.js:109:14
      */
      ———————————— End ————————————————————————

  21. Wobei Amazon ja mehr als nur Bücher verkauft. Und ich Bücher (zumindest in Papierform) fast immer lokal gekauft habe. Hat aber auch nicht geholfen. :-(

Trackbacks and Pingbacks:

  1. Die eigene Amazon Laufhistorie monetär bewerten | :: CrUisErs Blog :: - Blog von Martin Eichenberg - 5. August 2013

    […] Julian hat ein JavaScript Schnipsel ausgegraben, das unter die Liste der jemals gekauften Artikel bei Amazon einen Wert pinselt. Die resultierende Zahl wird für den ein oder anderen sicherlich überraschend bis schockierend sein. […]

  2. Amazon Bestellungen exportieren – Übersicht über Umsatz | TEC-TRENDS - 6. December 2013

    […] dieses Jahr ein etwas ungünstiges Verfahren. Nach einiger Suche im Internet bin ich auf einen Blogeintrag von Julian Hein gestossen. Er beschreibt ein kleines Script welches scheinbar genau meinen Vorstellungen […]

Leave a Reply