{E-Commerce} – Combien avez vous dépensé en ligne !

 

Coucou à tous,

 

Comme beaucoup d'entre vous, je fais des achats sur Internet ...
Et il faut dire qu'avec la carte bleue ça va tellement vite ... qu'on en oublie complètement la notion d'argent  !
Par "notion d'argent", j'entends le fait que si je vous donne 10 pièces pour acheter des bonbons, vous aurez conscience de la somme d'argent que vous avez entre les mains ! Plus le nombre de pièces diminuera, et plus vous ferez attention à vos dépenses !
Mais avec une carte bleue ... vous faites moins attention ....

Au moment où j'écris cet article Noël est dans 14 jours !
Et j'aurais probablement dépensé pas moins de 300 € dans des cadeaux pour toute la famille !

C'est d'ailleurs en faisant des achats que m'est venues cette question toute bête !
Existe t-il un moyen de savoir combien j'ai dépensé sur Internet ?

Est-ce que des plateformes comme Amazon, Cdiscount, Ebay, AliExpress, ... proposent d'afficher la somme totale que vous avez dépensée chez eux ?

 

La réponse est "Non"

Surement certains sites E-Commerce le proposent, mais généralement cette information est relativement bien cachée !
Pour une raison assez simple :
Ne pas vous faire peur !
Si vous prenez conscience que 1/10 ème de votre salaire passe par des achats en ligne ... vous allez probablement tenter de vous freiner, et ça n'est pas du tout ce que veulent ces plateformes !

 

Des outils pour savoir combien j'ai dépensé ?

Bien entendu il existe des outils pour savoir combien vous avez dépensé.
De ce que j'ai pu voir, ces outils vous propose d'utiliser votre messagerie pour rechercher d'éventuels achats ....

Mais ...

  1. Une précision assez faible
    1. Une facture par mail que vous auriez supprimé  et celle-ci n'est pas comptabilisé
    2. Tous vos achats ne sont peut-être pas faits depuis la même adresse email
  2. Un problème de sécurité / confidentialité 
    1. Ces outils ont besoin d'un accès complet à votre boîte mail, rien ne vous dit qu'ils ne vont pas copier vos mails pour les revendre à des annonceurs ou pires encore ... combien de mots de passe vous sont transmis par email  ...
    2. Si l'autorisation d'accéder à votre boîte mail est persistante, il est possible pour la plateforme qui s'y connecte de récupérer les accès à tous les sites où vous êtes inscrits ...
  3. ...

Vous l'aurez compris ça n'est pas idéal comme solution

 

Mes outils

Comme dans la plupart de mes articles, vous vous doutez que je vais vous proposer un script.
Je suis plus rassuré à l'idée de construire mes propres outils que d'utiliser des choses dont je n'ai pas la maîtrise (cf. paragraphe ci-dessus)

Je n'ai pour l'instant développé que 2 scripts pour 2 plateformes, AliExpress & Amazon !
Néanmoins si ce genre de script vous intéresse, dites-le-moi en commentaire en me précisant pour quelle plateforme vous le souhaiteriez. Si ce sont des plateformes relativement utilisées je prendrais le temps de faire un script et de vous le partagez ;)

AliExpress

Le script ci-dessous est à utiliser depuis la page de vos commandes (https://trade.aliexpress.com/orderList.htm), celui-ci est à exécuter dans la console développeur de votre navigateur (touche F12, onglet "console")

/*
	AliExpress (c) 2018-2019
	https://dyrk.org
	Calculate the sum from all items price
*/
var t = 0, loadPage = function(id){
		params = {"_csrf_token":document.getElementsByName('_csrf_token')[0].value,
				  "_fm.o._0.s":"","action":"OrderListAction","_fm.o._0.e":"",
				  "_fm.o._0.co":"", "_fm.o._0.l":"","_fm.o._0.or":"", "_fm.o._0.p":"",
				  "_fm.o._0.o":"", "_fm.o._0.c":"", "pageNum":id, "_fm.o._0.cu":"1",
				  "sortKey":"","eventSubmitDoPage":"doPage"}, 
				  x = new XMLHttpRequest(),tmpParams="";
		x.open('POST', '');
		x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
		x.addEventListener('load', CrawlItemPrice);
		for (var i in params) tmpParams += [encodeURIComponent(i),"=",encodeURIComponent(params[i]),"&"].join('')
		x.send(tmpParams);
	}, CrawlItemPrice = function(doc){
        var  dp = new DOMParser(), d = dp.parseFromString(doc.target.response, 'text/html'), 
             r = d.getElementsByClassName('amount-num');
        for (var i in r){
            try {
				console.log(t," --------------------- ",r[i].textContent.trim()) 
                 t += parseFloat(/ [0-9^_,]*/.exec(r[i].textContent.trim())[0].replace(/,/g,'.'));
            } catch(e){}
        }
        try {
            n = d.getElementsByClassName('ui-pagination-next ui-goto-page')[0].getAttribute('pageno');
            loadPage(n);
        } catch (e){ console.log(t); }
};
loadPage();

Amazon

Même manipulation que pour AliExpress, mais sur la page (https://www.amazon.fr/gp/css/order-history)


/*
	Amazon (c) 2018-2019
	https://dyrk.org
	Calculate the sum from all items price
*/
var season = "https://www.amazon.fr/gp/your-account/order-history?opt=ab&digitalOrders=1&unifiedOrders=1&returnTo=&__mk_fr_FR=ÅMÅŽÕÑ&orderFilter=", 
	datesSelect = document.getElementById('orderFilter').getElementsByTagName('option'), dates=[], sold=0,
	getItemSeason = function(url){
		var http = new XMLHttpRequest();
		http.open('GET', url);
		http.addEventListener('load', function(content){
			var dom = new DOMParser(),doc = dom.parseFromString(content.target.response, "text/html"), 
				items = doc.getElementsByClassName('order-info');
			for (var i in items) { 
				price = /(EUR)[ ]{0,3}([0-9^_\.\,]{0,9})/.exec(items[i].textContent) ? parseFloat(/(EUR)[ ]{0,3}([0-9^_\.\,]{0,9})/.exec(items[i].textContent)[2].replace(/,/g,'.')):null; 
				sold += price ? parseFloat(price) : 0;
				price ? console.log(sold," --------------------- ",price) : [];
			}
            try {
                nextPage = doc.getElementsByClassName('a-last')[0].getElementsByTagName('a')[0].getAttribute('href');
				setTimeout(getItemSeason.bind(null, nextPage), 250);
            }
            catch(e){console.log("======> ",sold) };
        });
		http.send();
    };
for (var i in datesSelect) /year/.exec(datesSelect[i].value) ? setTimeout(getItemSeason.bind(null, season+datesSelect[i].value),250) : [];

 

Démonstration vidéo

Je me suis dit que désormais j'allais vous faire pour mes articles de plus en plus de démonstration vidéo, cela permettra au nouveau venu de se familiariser avec les outils que je vous propose.

 

Conclusion

 

Pour ma part je vous avoue que même si j'ai conscience que j'achète pas mal de trucs en ligne, notamment du matos pour Arduino / Raspberry ... j'ai été un peu sur le cul lorsque j'ai réalisé la somme que j'ai dépensée sur ces 2 plateformes !
Dites-moi  en commentaire si vous vous attendiez à un tel montant ;)
N’hésitez pas également à mettre en commentaire si vous aussi vous avez des petites astuces peu connues que vous souhaiteriez voir sur le blog ;)

 

 

Partagez ce contenu

18 comments

  • VM1372:2 Uncaught TypeError: Cannot read property ‘value’ of undefined
    at loadPage (<anonymous>:2:71)
    at <anonymous>:27:1

    • Hello Unknow, je soupçonne que tu ne sois pas sur la bonne page, j’ai eu l’occasion de tester sur plusieurs compte différent, et je n’ai pas de souci (au jour d’aujourd’hui)
      Il me faudrait plus d’informations pour t’aider (ex: l’url de la page, le navigateur, …)

  • Bonjour,

    Encore une fois merci, super article.

    C’est génial ces petit outils.

  • Damn effectivement je ne pensais pas avoir laisser autant chez Amazon haha.

    Chouette script, merci du partage.

  • Merci beaucoup!

    Je sais tres bien que je suis fou d’amazon, mais la je suis sur le cul..

  • Bonjour,

     

    Tout d’abord c’est la première fois que je participe à ton espace commentaire, mais sache que je suis fan de ton blog et lis tout tes articles! Celui-la m’a particulièrement choqué… Il  faut vraiment que j’arrête!

    Merci pour tout!

     

    • Merci Sartilas,

      Ces encouragements me vont droit au cœur ;)
      Eh oui … on dépense un peu, puis un peu, et encore un peu … et finalement nos quelques petites dépenses se transforme en une montagne ^^
      Les plateformes se gardent bien d’afficher les chiffres, ça s’apparenterait trop à un « fumer tue » …

  • Salut à vous!

    Ohoooohh my GOD, ce soir je vais .@#’ &é~ ma femme…….

    Mais quelle article super mais quelle horreur je n’aurais jamais jamais due faire sa sur le compte à ma femme…

    Encore merci pour cette article.

    J’ai une petite réclamation :) à tu la possibilité de commenter légèrement plus les script ?

    hâte de te lire

    • Hello Irus1980,

      Tout d’abord laisse moi à mon tour te remercier, car sans l’encouragement de mes lecteurs par mail ou par commentaire, le blog n’avancerait pas avec autant de motivation ^^

      Comme tu pourras le constater, j’ai commencé cette année à améliorer le format de mes articles en les enrichissants avec du contenu vidéo (ce qui je l’avoue me prend un peu plus de temps, le montage … oui oui il y a du montage pour masquer / falsifier des informations personnelles, l’écriture de sous-titre dans Youtube, le choix d’une bande son libre de droits … etc …)

      Je n’aurais certainement pas le temps de repasser sur mes anciens articles, mais je vais faire de mon mieux pour commenter les prochains scripts que j’écrirais ^^

      Je te souhaite une bonne journée ;)

      Dyrk

      PS : Moi aussi j’ai fait un bond en voyant les dépenses de mon épouse … mais j’ai relativisé lorsque j’ai fait le calcul de toutes les petites sommes qu’on peut dépenser sur des sites moins gros

      • Merci pour ta réponse.

        J’imagine bien le temp passé sur les super vidéo c’est affreux, en tous cas le rendu est nickel.

        Les commentaires aide vraiment la lecture du script pour mon cerveau qui traite pas toutes la journée du code et qui survole.

        Pas de problème pour les anciens article ne t’inquiète pas.

        PS : pfff les bonnes femme, il faut pas les laisser seul faire du shopping :)

        Bone journée à vous

         

         

         

  • Salut,

    Ça fait déjà un moment que je lis tes articles et je prends cette fois le temps de te laisser un petit message d’encouragement. Vraiment du contenus comme on les aime, des scripts liés aux sujets traités, enfin bref que du bon, ça fait plaisir de pouvoir lire des articles, qui au fil du temps, sont de plus en plus chouette à lire. Je te souhaite une bonne continuation et au plaisir de lire tes prochains articles.

     

     

  • Bonjour,

    Est il possible d’extraire ces informations sur un fichier externe, type .txt par exemple ?

    • Hello fab,

      Après il faut ajuster le code, mais c’est parfaitement faisable ;)

      • Merci pour ton retour rapide, et merci pour tes articles que j’ai découvert depuis peu. Je passe maintenant régulièrement apprendre plein de choses ici.

         

        En ce qui concerne l’export, peux tu me donner une piste ?

  • Bonjour,

    Déjà merci beaucoup pour ce tuto très pratique pour moi!

    Je me questionnais simplement s’il était possible de choisir à partir de quelles dates ça commence à se comptabiliser?

    Comme ex:

    Les 30 derniers jours du mois

    ou seulement depuis le 5 mai 2019 (par exemple)

    Cela serait vraiment très très très utile pour ce que je fais en ce moment !

    Merci beaucoup encore

  • Hello !

    Vraiment excellent félicitation pour ce script !

    Par contre j’aurai une question, serait-il possible de le filtrer sur une période précise ?

     

    Merci :)

Répondre à Irus1980 Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *