Voici un Google Spreadsheet et son Google Script pour se créer des alertes sur le bon coin et recevoir un email grâce aux Triggers.
Voir la nouvelle version du script : Alerte Le Bon Coin V2
IMPORTANT utilisateur de la V1 Le bon coin a modifié sa page le script a été modifié mais il faut le télécharger de nouveau. Allez en bas du billet.
Comment ça marche
Dans la feuille "Données" vous entrez dans la colonne "Libellé recherche" le nom que vous voulez donner à votre recherche, dans la colonne "Url" l'url de la recherche (copier/coller de l'url de la page 1) et laissez "Last link" vide.
Ensuite allez dans le menu "Lbc Alertes" et cliquez sur "Setup recherche".
Une fois que vous avez cliqué sur setup recherche la case Last link va se remplir avec un id.
Il faudra aussi définir votre email pour cela cliquez sur "Gérer email" et suivre les instructions.
Pour modifier l'email cliquez aussi sur Gérer email.
Une fois cela fait vous pouvez tester les alertes en cliquant sur "Lancer manuellement". Pour que ça fonctionne modifier les valeurs dans last link avec un code "faux". Le code dans cette colonne permet de connaitre le dernier produit de la recherche afin de vous envoyer uniquement les mises à jour. La fonction "Setup recherche" récupère cette info pour l'initialisation et pour tester il faut donc mettre un faux codes (ex : 123), le script vous enverra alors toutes les annonces del a page 1.
Dans la feuille "Log" tous les envois sont loggés.
Exemple d'alerte email
Voici un exemple de message reçu :
La recherche est cliquable pour la voir sur le site.
Pour chaque nouveaux éléments, on peut aller sur la fiche et on récupère le lieu et le prix.
Programmer les alertes
Pour cela il faudra créer un trigger, cf : triggers google spreadsheet script
Le trigger doit être fait sur la fonction lbc(). Un trigger toutes les deux heures est pas mal. A vous de voir en fonction de la fréquence d'apparition des nouvelles annonces.
Attention : Ce script contrôle uniquement la première page donc si le trigger est trop large les nouvelles annonces en page 2 ne seront pas récupérées.
Alertes Le Bon Coin, copier le fichier
Récupérer la google spreadsheet : Alerte le bon coin avec Google script
Pour être tenu informé des mises à jour suivez la page google+ alerte le bon coin : lien
Il vous faudra un compte Google pour utiliser ce document et créer les alertes.
=> Lancer une première fois manuellement le script pour accepter les autorisations d'accès du script.



Magnifique, exactement ce que je cherchais depuis l'arrêt de alerte-lbc et en plus cela me permet de découvrir le scripting google, que demander de plus ? ;-)
Merci ;-)
J'attends de voir si ça fonctionne bien avec le trigger car je suis pas bien sûr de ce que j'ai fait. Par contre faut-il changer le nom de la Google Spreadsheet et son Google Script ? Seulement un des deux ?
Ne touche pas au nom de la spreadsheet il faut modifier que ce qui est mentionné dans le billet.
Pour tester mets un faux chiffre (123456) dans la cellule last link de ton alerte et lance la fonction manuellement en cliquant sur 'Lancer manuellement' du menu.
Ok, ça fonctionne sans problème depuis quelques jours. J'ai juste changé le nom de la spreadsheet car elle s'appelait "copie alerte...".
C'est possible qu'à causse d'une modification du site ça ne fonctionne plus à un moment ? Que faut-il faire ?
En tout cas merci beaucoup pour l’outil et le partage !!!
Si tu renommes la spreadsheet ça n'a pas d'impact.
Stéphane
Bonsoir
Je ne reçois que ces mails : Cannot call method "getRange" of null.
Comment faire
merci
Bonjour
Tu as modifié le nom de la feuille ?
Stéphane
Excellent ;) Ca marche très bien, Merci beaucoup !
Super ! Exactement ce qu'il me fallait !
Merci beaucoup !
Serait-il possible de préciser pour les noob si l'on fait le trigger sur "lbc", "setup", "setupmail", "extractid", "splitresult" ou "onopen"?
Parceque là, c'est pas vraiment clair pour un noob :)
Bonjour
Bonne remarque :-) il faut créer une alerte sur la fonction lbc().
Stéphane
Bonjour stéphane,
et tout d'abord bravo pour l'initiative !
Je me suis permis de reprendre votre script et d'y apporter quelques modifications, comme le support de la date, le support des images, ainsi que des styles css de manière à ce que l'email reçu ne soit pas dépaysant. Mon code n'est pas très propre car je n'ai pas voulu y passer trop de temps, mais à priori ça fonctionne !
J'ai mis ma version du Code.gs sur github, si jamais vous souhaitez y jeter un oeil : https://raw.github.com/maximelebreton/alertes-leboncoin/master/Code.gs
D'ailleurs, je pense qu'il pourrait être intéressant que vous soyez le propriétaire de cet espace afin que chacun puisse y contribuer facilement.
Qu'en pensez vous ?
N'hésitez pas à me contacter par mail !
Maxime.
Salut Maxime,
Je suis allé voir rapidement le code sur github et le regarderai plus en profondeur demain. Je trouve que c'est une bonne idée c'est vrai qu'à l'époque je n'y avais pas pensé et un peu comme toi j'avais fait le fichier spreadsheet rapidement pour répondre à un de mes besoins et n'avais pas trop essayé de faire joli :-)
Je me suis inscrit sur github il n'y a pas longtemps et si c'est possible ce que l'on peut faire c'est se mettre co auteur, je ne sais pas si ça existe ? Ca m’embête de reprendre la propriété tout seul car de ce que tu dis tu as quand même fait de bonnes améliorations sur le script.
voici mon profil https://github.com/St3ph-fr
Stéphane
J'ai testé et j'avais un souci c'est que le prog ne trouvait plus les id pour envoyer que les nouvelles annonces.
Donc j'ai changé des === en == et des !== en !=.
Je n'ai pas corrigé le code sur github car je voualis l'éditer et non créer un nouveau projet.
Dis moi ce que tu veux faire par rapport à github. En tout cas c'est vachement bien comme résultat.
Stéphane
oui je viens de m'en apercevoir également, j'ai corrigé sur github !
je viens de t'ajouter au repository, je ne sais pas trop comment ça fonctionne à ce niveau mais je pense que tu dois avoir les mêmes droits que moi ! (peux tu essayer de commiter une modification pour voir ?)
Par contre, vu que c'est toi l'auteur, il me semblerais plus juste de te transférer les droits d'admin et que tu m'ajoutes comme collaborateur.
Sinon l'idée de github était simplement que n'importe qui puisse proposer des ajouts / améliorations facilement via github, parce que je trouve ton idée superbe (j'adore les détournements de fonctionnalités initiales), et je me dis que peut être d'autres personnes voudront améliorer encore le processus !
J'ai voulu t'envoyer un message sur github mais à priori pas possible.
Ok pour l'admin.
On pourra modifier le readme pour mettre en avant ta modification. Ca rend vraiment bien dans l'email.
Tu as un profil g+ ? moi : http://bit.ly/UwwHnO
Salut et merci pour le script !
Je me suis permis de le réécrire (avec des regex) pour y ajouter les images et envoyer un mail pour chaque recherche.
Pour ceux que ça intéresse c'est ici : http://tinyurl.com/d6j9f4j
Tom
Bonjour Tom,
C'est un peu moins brut force avec les expressions régulières :-)
Tu crois que l'on pourrait essayer de fusionner ce que tu as fait avec le code sur github ?
Stéphane
Voici le script : http://pastebin.com/p6GaKmJb
Mais il ne marche plus avec l'ancien onglet !
Merci Tom.
Je regarderai un peu plus tard, car en ce moment je suis juste, si on peut reprendre des éléments de ton script pour optimiser les recherches.
Stéphane
Je viens de transférer le repository à ton nom, tu devrais avoir une demande de confirmation via Github.
Du coup, pense à m'ajouter comme collaborateur ainsi que Tom pour qu'on puisse ajouter nos modifications !
Merci !
Salut Maxime
Tu es bien en tant que collaborateur et j'ai bien reçu le projet.
Tom si tu as un compte github et que tu souhaites devenir collaborateur dis le moi.
Je vais voir pour faire un nouveau billet pour présenter alerte le bon coin V2 mais en ce moment c'est un peu chaud :-)
Si ça te va maxime je te ferai un lien vers ton site, dis moi si tu veux une ancre de lien précisé ;-)
Salut Steph, Tom.
Je viens de créer une branche v2 sur Github ou j'ai mergé le code optimisé par Tom avec mes ajouts CSS pour l'email.
Voici la branche : https://github.com/St3ph-fr/alertes-leboncoin/tree/v2
Vu que la spreadsheet utilisée n'est pas la même, je me disais que c'était bien de séparer les deux. A toi de voir si tu veux ensuite merger la v2 vers le Master ;)
Qu'en penses tu Steph ?
Manque plus que le ReadMe qui résume la procédure !
Sinon, perso j'aime bien l'idée de tout regrouper dans un mail, et celle d'avoir dans des mails séparés. Donc je me dis qu'on pourrait mettre une condition (true / false) dans une cellule histoire de pouvoir choisir si l'envoi est groupé ou séparé ?
En tout cas, chouette optimisation Tom !
Je regarde tout cela :-)
C'est quand même un peu pénible que l'on ne puisse pas communiquer sur github ....
Salut les coders,
je ne connais pas du tout git ! Je me suis créé un compte : http://github.com/cestlacata
Je ne sais pas si Steph doit faire une manip pour que je contribue au projet...
Tom
Ca y est on est tous sur le projet :-)
salut tom, steph, maxime,
merci a vous, j'utilisais un script PHP jusqu'a maiuntenant mais c un peh compliqué a mettre en oeuvre. ca c'est vraiment bien, je connaissais pas les scripts google, ca le fait.
j'ai telecharge la V2 et elle marche impec, les mails avec les tofs, c'est tout comme mon truc PHP...
une feature me tient a coeur: est-ce qu'il serait possible d'ajouter un filtre pour les departments (cela manque cruellement a LBC). j'ai essaye de le faire moi-meme, mais si je ne sais pas manipuler les listes et autres arrays.
par exemple, dans la collone 4 je mets une liste de departements en allant a la ligne a chaque fois, ou alors en separant par des cirgules.....ou autre..
(...)
var COLUMN_FILTER = 4;
(...)
var counties = dataSheet.getRange(rowIndex,COLUMN_FILTER).getValue(); ?????
(...)
// Extrait le lieu
var placement = extractInfo('"placement">(.*?)<\/div>', content);
AJOUTER:
var county = extractInfo('/(.*?)', placement);
// Vérifie que l'annonce passe le filtre
if(??????????????)
break;
}
bon voila quoi c juste pour montrer que j'ai essaye...
merci a vous,
green
Bonjour
Je comprends ta demande mais l'objectif du script est de rester simple et il faut donc lui donner la bonne recherche en entrée.
En ce moment j'ai des soucis de temps pour regarder tout cela mais pour moi si on part dans cette modification ça va devenir trop complexe alors que maintenant si tu mets une recherche par département tu pourras tous les suivre. Ca nécessite un peu plus d'action de ton coté je le reconnais mais je pense que c'est gérable.
Tu suis beaucoup de requête ?
Stéphane
bonjour et merci pour ta réponse.
une dizaine pourquoi ? avec la solution que tu me proposes, je vais devoir faire quatre URL differente pour chaque requete... je vais essayer de le faire seul, mais le plus dur pour moi, c'est de recuperer mes quatre departement dans un tableau a partir de la collonne 4: je suppose qu'il faire une sorte d'extract data sur le resulat de getValue et retourner un tableau... est-ce qqn pourrait me mettre sur la voie ? apres je me debrouillerai
et surtout MERCI C'EST DEJA TOP !!!!
Dans ta demande tu parles d'un filtre par département donc dans ce cas il faut que tu entres une recherche France. Cela fait beaucoup de département à analyser à chaque fois (ce qui n'est pas trop grave en soit) mais surtout la fréquence de rafraichissement (trigger) devra être élevée car sur toute la France il y a des requêtes qui doivent avoir des créations d'annonces très régulières alors que le rythme au niveau du département est raisonnable.
Comme tu as un nb de requêtes pas très élevé à suivre, tu gagneras du temps à saisir directement les recherches.
Merci pour cette astuce : vraiment très pratique avec le système de trigger.
salut steph,
desole j'ai mis du temps a repondre: non ca n'est poas exactmement cel aque je cherche a faire: j'habite le 94, je cherche par exemple sur le 75, 92, 94 et 91, ca fait deja 20 alertes par jour.
leboncoin me permet de chercher dans toute la region ile de france, mais alors la c'est 200 alertes par jour !! dont cplus de la moitie dans le 77 ou le 95 a 1 heure de chez moi...
leboncoin me permet aussi de reduire a un departmeent = dans ce cas je dois faire 4 alertes (pour chaque recherche), c'est fastidieux.
encore une foie je propose une amelioration, c deja bien de pouvoir faire une alerte !!
j'essaierai de le faire si je vois rien venir, mais c pas mon truc a la base...
merci a+
Bonjour,
Je n'y connais rien donc je vais poser une question idiote: est-ce que ça fonctionne à partir de l'ordinateur qui doit donc être allumé en continu et si oui faut-il que le fichier d'alerte soit ouvert aussi?
Merci d'avance
Bonjour
C'est un document google heberge sur google Drive. Il faut juste avoir un compte google.
Stéphane
ok donc rien à voir avec mon ordi, une fois la procédure faite sur google drive, on eteint tout et ça marche?
Oui
Bonsoir,
Un autre site pratique permet de créer des alertes pour Le Bon Coin, c'est VigiCoin (www.vigicoin.com).
Excellentissime... bravo !
Comment fait-on pour récupérer vos mises à jour du code ?
C'est vrai que les photos, ce serait hyper pratique :)
Merci en tout cas :)
Bonjour,
je viens de passer à la V2. J'aime beaucoup la nouvelle mise en forme des mails...mais j'aimais bien dans la V1 la possibilité de tout avoir dans un seul mail...est-ce possible avec la V2 ?
Pour l'instant j'ai gardé les 2 en doublette pour voir...
En tout cas encore bravo pour votre travail !!!
Merci d'avance pour la réponse.
Matthieu
Bonjour Matthieu,
Merci et je vais regarder pour le code. Comme je le dis dans des commentaires précédent j'ai des petits soucis de temps en ce moment mais je vais essayer de regarder pour faire le point :-)
Stéphane
//Version permettant de faire plusieurs recherches dans un même passage et n'envoyer qu'un seul mail pour la totalité des recherches.
// Un peu de couleur pour bien distinguer les différentes requêtes
//
http://pastebin.com/FyeXkXdd
Bonjour à tous
depuis ce matin 7h plus de notifications reçues pour une raison que j'ignore. Quelqu'un à une idée?
Bonjour
Je viens de tester aucun souci de mon coté.
Il se peut qu'il n'y ait pas de nouvelles annonces ? Essayes de le lancer manuellement en modifiant la case last link manuellement avec une fausse valeur. Dernier paragraphe de la première partie.
Stéphane
Est ce que j'ai pu me faire blacklisté si j'ai trop tiré sur la machine, en nombre de requetes (quoique une vingtaine c'est pas enorme, si?) ou en demandant une vitesse trop rapide, toutes les 5mn...
Oui c'est possible :-)
En fait le script utilise une fonction de google qui a une limite de taille sur 24h donc si tu fais tourner le script sur 20 reqs toutes les 5 minutes ça peut faire beaucoup.
Je te recommande de tout couper pendant 24h et de relancer le script manuellement une première fois (pour tester) et ensuite de programmer un trigger plus léger.
Stéphane
j'ai des nouvelles annonces tous les quart d'heure normalement.
Oulala dans ma page il n'y a pas de rubrique Lbc alerte. Les trois dernières sont outils/données/aide et après plus rien. Pourtant jusqu'à présent ça fonctionnait (mais je n'ai jamais eu la fonction Lbc alertes)
...?
Je ne sais pas te dire mais j'ai refais tous le process d'installation et pas de soucis donc ne sachant pas ce que tu as exactement fait je te recommande tout refaire.
Tu cliques sur le lien pour récupérer la spreadsheet.
Tu te crées une copie.
Tu auras le menu alerte lbc
Tu fais le setup
La première fois tu valides les demandes d'accès
Ensuite tu lances manuellement pour test.
Stéphane
Merci Stéphane je vais faire comme tu as dit.
Il doit peut-être y avoir moyen d'installer ce système sur son propre ordinateur (ça necessite qu'il fonctionne en continu mais bon). Après même si c'est possible il faut avoir les compétence pour le faire... quand je vois que pour installer un programme tout fait une fois sur deux il faut que je demande à ma femme... ;)
A plus
Bonjour,
En fait les alertes ne se font plus entre minuit et 15h30. Ensuite de 15h30 jusqu'à minuit ça repart et tout est ok... et à partir de minuit ça s'arrête de nouveau...
Vous connaissez ce bug?
Tu dois dépasser le quotas de google diminues la fréquence du trigger.
Quels sont tes réglages actuels ? Nb d'alerte et fréquence du trigger.
Stéphane
39 alertes rafraichissement 5 mn
Je pense que c'est trop testes avec 1h.
Stéphane
C'est bien pour ça que je cherche une autre solution qui serait sur mon ordinateur car je recherche certains objets de collection qui, même avec un refresh de 5 minutes, sont déjà vendus une fois sur deux quand je téléphone tout de suite, alors une heure...c'est mort
Bon, finalement j'ai recommencé à zéro et j'ai mis un temps de rafraichissement plus lent et tout est rentré dans l'ordre, ça marche c'est déjà pas mal...
Salut, merci beaucoup pour ce petit script bien pratique. J'ai apporté une petite modification pour que la bonne heure s'affiche dans le sujet du mail (sinon l'heure est avancé de 1h)
il faut remplacer 'GMT+2' par 'Europe/Paris' dans la ligne :
MailApp.sendEmail(email, 'Alerte LeBonCoin : ' + label + ' - ' + Utilities.formatDate(new Date(), 'GMT+2', 'dd-MM-yyyy HH:mm'), mail, { htmlBody: mail });
Merci sylvain mais c'est pour quel script ? quel version ?
La v1 ne sera pas mise à jour maintenant c'est la v2 qui est la version en cours.
http://justdocsit.blogspot.com/2012/11/alerte-leboncoin-v2.html
Ah pardon, j'ai posté au mauvais endroit, c'est pour la v2.
le fait de remplacer 'GMT+2' par 'Europe/Paris' permet de gérer les changements d'heure été/hiver (GMT+2/GMT+1)
Tu as verifie les propriétés du script ?
Moi j'ai bien la bonne heure
Je vais quand meme regarder le code. Merci ;-)
Bonjour, je suis quelque peu novice et n'arrive pas à avaoir la fonction setup recherche dans ma feuille de calcul.
L'idée étant que je souhaiterais créer un système d'alertes pour plein de sites différents ?
Quelqu'un peut-il me conseiller un moyen simple et fiable ?
Merci d'avance.
Pour avoir la fonction setup rechercher il faut attendre un peu que le menu apparaisse et renommer le fichier si besoin.
Fermes et reouvres le fichier et attends un peu. Par contre tu ne pourras créer que des alertes pour le bon coin.
Stéphane
bonjour, ça marche super bien MAIS MAIS MAIS, je suis très inquiet, je reçois mes alertes avec un destinataire caché: maestro.bounces.google.com Après quelques recherches sur Internet il s'agit d'un hacker arménien bien connu et spécialiste du phishing......
quelqu'un aurait il une explication??? est ce sans danger?
merci pour vos réponses
Bonsoir
Non c'est juste que cette personne a peut etre utilisé les mêmes composants pour envoyer le mail. Ce script utilise des composants 100% google et que des composants créés par google.
Aucun souci ce maestro.bounces.google.com est juste le composant utilisé par google script pour envoyer le mail.
Bonjour
Pour les personnes qui sont abonnées aux commentaires. Le bon coin a modifié sa page web et le script a été mis à jour donc il faut télécharger la nouvelle version. En bas du billet.
Merci,
Stéphane
Bonjour,
Pour moi, ca marche tres bien pour une seule recherche mais si je rajouter plusieurs ligne, apres avoir cliqué sur "Setup recherche", les numeros sont bien generes dans la 3eme colonne mais le fait de cliquer sur "Lancer manuelement" n'envoit aucun email pour les autres recherches, seule la 1ere ligne est prise en compte.
Cdt.
Val
Bonjour
Quand tu cliques sur setup recherche tu récupère le numéro de la dernière annonce donc si juste après tu cliques sur lancer manuellement le script compare les liens avec les numéros dans la troisième colonne. En si peu de temps c'est peu probable qu'il y ait une nouvelle annonce donc le script envoie rien.
Pour tester remplaces les numéros générés par setup recherche par des faux numéros exemple "123" et cliques sur lancer manuellement.
Stéphane
re,
je pense que c'est parceque j'utilise des filres par categories dans les autres recherches. Ca doit pas bien etre prise en compte.
Peux tu faire le test que je t'ai dis. J'ai utilisé le script sur une catégorie pendant plusieurs semaines et pas de souci pour moi.
Stéphane
bon, desole, j'ai fait quelques coupé/copié/coller et maintenant ca marche nickel...
C'est le principal ;-)
On a plus les photos dans les emails avec cette nouvelle version??
Il faut telecharger la version 2.
Stéphane
Ok merci bcp Stéphane !
Bonsoir Stéphane,
super script ! je suis un fervent utilisateur ! mais comme le bonc a changé sa page, j'essaie de refaire mes alertes... mais...
problème ! que ce soit avec la version 1 ou 2, pas moyen de copier/coller l'url dans la barre de fonction ou la cellule...
est ce que tu aurais une solution ?
merci d'avance... vite je suis en manque ;)
Christophe
Bonjour
C'est à mon avis un souci de navigateur car les fichiers une fois copié son copié dans ton drive.
Essayes un autre navigateur, en mode navigation privée, sorts et re-rentres dans le fichier.
Ca doit marcher car le fichier est dans ton drive;
Stéphane
bonjour,
j'ai un message d'erreur:
TypeError: Impossible d'appeler la méthode "getSheetByName" de null. (ligne 3)
Pourriez vous me dire pourquoi ce message apparait? Dans "ressources"/"tous vos déclencheurs" j'ai paramétré l'envoi d'un email toutes les 24h - est ce pour cette raison?
merci pour votre réponse
cordialement
Merci Stéphane, c'était bien ça !
Christophe
Hello,
il me semble que lbc a encore changé sa page, le script est continuellement an erreur chez moi ?
à moins que ça vienne de ma boite mail qui fait passer les messages en spam ?
Je viens de tester la v1 et v2 et pas de soucis les annonces sont bien récupérer.
Tu n'as pas modifié le script ?
Stéphane
bonjour
j'ai un message d'erreur:
TypeError: Impossible d'appeler la méthode "getSheetByName" de null. (ligne 3)
Une idée de la raison?
MErci!
Bonjour
Tu n'as pas modifié le nom de la feuille ?
Stéphane
je vais relancer le script au cas où mais je n'ai fait aucune modifs
je ne recevais plus les alertes hormis les summary of faliures
Beau boulot! Simple à mettre en place et efficace, merci!!!