Mi sono messo in testa di acquistare un tapis roulant.
Sembra semplice, si va su Amazon, si cerca “Tapis Roulant”, ed il gioco è fatto.
No, non nel 2020. Già perchè il COVID si è portato via tutti Tapiri del mondo a quanto pare. O almeno quelli sensati.
Indice dei contenuti
I requisiti
Tanto per capirci, un buon tapis dovrebbe avere: un motore da almeno 2HP (altrimenti bruciate motori come fossero patatine fritte), bluetooth (perchè qualsiasi cosa con il bluetooth è più figo, lo sappiamo benissimo), e un inclinazione di almeno 10% (correre sul tapis è più semplice che all’aria aperta per via della mancanza di attrito, quindi aggiungiamo un po’ di difficoltà).
Decathlon
Quindi dato che Amazon è fuori dai giochi, si ripiega sul Decathlon.
Peccato che anche qui siano passati gli Unni: non c’è un Tapis manco a cercarlo con il lanternino.
La scoperta
Qui il nerd esce: inizio a spipolare (termine tecnico ovviamente) sulla pagina web del Decathlon, più precisamente questa
https://www.decathlon.it/C-801880-tapis-roulant/N-121954-disponibilita-stock~a
E noto che, ad intervalli più o meno casuali, qualche Tapis torna disponibile per una manciata di minuti!
L’ingeGGGno
Un po’ di curl, un pizzico di bash e con CRON tutto automatizziamo:
curl -s "https://www.decathlon.it/C-801880-tapis-roulant/N-121954-disponibilita-stock~a" | grep "data-product-name" | grep -v "T540C" | grep -v "Kit lubrificante per tapis roulant" | grep -v "Tappetino TRAINING MAT" | grep -v "Gel detergente igienizzante mani alcool 75% 100ml sanigel"
Analizzando questa riga di codice trovate:
-s –> per silenziare curl che normalmente e’ molto verboso (si dice verboso in italiano?)
“https://www.decathlon.it/C-801880-tapis-roulant/N-121954-disponibilita-stock~a” –> l’url da controllare
grep “data-product-name” –> il grep per la classe HTML che identifica un prodotto
grep -v “T540C” –> i vari grep dei prodotti che non mi interessano
Cron e la notifica via mail
Mettendo questo script in CRON con esecuzione ogni minuto, ogni qual volta la query ritorni un valore diverso da NULL, ci notifichera’ via mail e noi saremo pronti come giaguari a fare l’acquisto!
Edit del 18/11/202
Decathlon ha aggiornato il proprio sito web e di conseguenza sono variati i controlli da eseguire, ecco il nuovo script:
curl -s "https://www.decathlon.it/browse/c0-tutti-gli-sport/c1-fitness-palestra/c3-tapis-roulant/_/N-64uraa" | grep 'data-available="true"' -A23 | grep "source type" | grep -v "Tappetino+TRAINING+MAT"
Tapis da Fassi Sport
In molti mi hanno scritto per aiuto anche per Fassi Sport. Ecco lo script:
curl -s “https://www.fassi-sport.it/” | grep “title=\”Acquista\”” -B70 | grep “product-name” | grep -v cyclette | grep -v “Panca” | grep -v vogatore | grep -v ellittica