Récupérer du texte sur un site et envoyer dans une ligne spreadsheet

Hello tout le monde!

Voilà, tout est dans le titre: je souhaiterais récupérer le texte de la section WOD du site https://www.crossfit.com/ et l’envoyer dans une ligne d’un fichier google spreadsheet (en automatisant). C’est pour finaliser la créa d’un bot Messenger v1 que je viens de shipper en 2 heures de correspondance à l’aéroport.

C’est jouable? Un volontaire pour me filer un coup de main? Thanks :slight_smile:

Rien à voir mais tu fais du Crossfit ?

Yes c’est possible, tu as essayé la fonction importxml ? (cc @cebri @VivianSolide)

2 J'aimes

Comment ça @JulienD tu n’es pas abonné à ma chaîne Youtube ?!?


##shamelessPromotion
5 J'aimes

Avec importxml, tu scrape en live dans spreadsheet. Donc à chaque chargement de spreadsheet ça relance le scrap. Pas sûr que ça corresponde à ce que tu veux pour ton bot du coup (tu ne veux pas avoir à ouvrir spreadsheet).

Dans ton cas tu devrais donc plutôt scraper depuis un google script qui ajoute une ligne dans ton tableur toutes les 15 minutes.

2 J'aimes

Thanks je vais regarder tout ça dès que j’ai un peu de temps. En effet @VivianSolide j’avais pas suivi :stuck_out_tongue:

@cebri ouais s’il faut que j’ouvre le spreadsheet c’est relou. En fait pour l’étape d’après, j’ai créé un zapier qui à chaque ligne ajoutée dans le spreadsheet, ca se connecte à mon bot et ca envoie un message. Du coup une fois par jour ca envoie le wod of the day sans que je n’ai à ouvrir le spreadsheet si celui-ci est renseigné.

Si je peux automatiser l’ensemble je suis bien j’ai ma base

@boristchangang Yes, toi aussi?

Par moment mais je pense m’y remettre sérieusement. Mais les salles sont hors de prix sur Paris (en attendant que je sois millionnaire :wink:)

Tu as absolument besoin de stocker ça dans Google Sheets ? sinon moi je suis un peu barbare - script lancé à des horaires définis qui récupère les infos direct et insère dans bdd ou via API Google Sheet.

Ou alors tu te le fais old school, avec une query YQL qui te permet de tout faire via zapier :slight_smile:

1. YQL
Il s’agit d’un language créé par yahoo pour faire de requêtes sur le web comme tu en ferais en base de donnée. Compliqué mais puissant…ca te permet d’extraire ce que tu veux de n’importe quel site web, en json.

Dans notre cas, ca donne ca)

2. ZAPIER: Code by zapier >> javascript
Tu parses la query YQL en javascript

var url = "https://query.yahooapis.com/v1/public/yql?format=json&q=select%20*%20from%20html%20where%20url%20%3D%20%27https%3A%2F%2Fwww.crossfit.com%2F%27%20and%20xpath%20%3D%20%27%2F%2Fdiv%5B%40class%3D%22body%22%5D%2Fdiv%5B%40class%3D%22content%22%5D%27"
fetch( url )
  .then(function(res) {
    return res.json();
  })
  .then(function(json) {
    callback(null, json);
  })
  .catch(callback);

3. ZAPIER: vers ton bot
Apparemment tu as déjà le zap qui va bien, alors je zappe cette étape :wink:

Enjoy !

2 J'aimes

Top info, merci les mecs! Je vais me pencher sur tout ça.

@boristchangang le crossfit est hors de prix en général. Quand j’étais à Lisbonne, c’était 100€/mois en illimité, alors que le coût de la vie est divisé par 2 par rapport à Paris… (smic à 600€, une chambre 300€).

Merci pour les infos @cebri , je ne connaissais pas ce language de Yahoo mais tu as suscité mon intérêt ^^.

Tu vas voir, y’a moyen de s’amuser avec ça :wink:

c’est vrai que c’est pas donné les abonnements à Paris.
je vais à la box Reebok Louvre et c’est 120€/mois mais je trouve que cela vaut vraiment le coup vu tout ce que cela t’apporte physiquement et mentalement :slight_smile:

@JulienD pas mal ton idée de bot ! je ne sais pas si c’est pour un projet perso ou pro, mais recevoir par messenger le programme du WOD du jour c’est pratique ! par contre, chaque box a sa propre programmation sauf qd il y a les WOD des Opens.

désolé pour le hors sujet ^^