maximelebreton / alertes-leboncoin

Recevez par email vos recherches leboncoin.fr (via Google Sheets / App Script)
http://maximelebreton.github.io/alertes-leboncoin
67 stars 10 forks source link

lbc v4;0 #1

Closed mf216 closed 8 years ago

mf216 commented 8 years ago

Bonjour,

J'utilise jusqu'a present la version de JF Allot, qui marche pas mal.

Je viens de charger et configurer la vôtre avec mes 41 recherches. En appuyant sur "lancer manuellement" le temps de traitement est très long au contraire de l'autre version. Une piste d'amélioration ?

Merci Francis

erics102 commented 8 years ago

Bonjour, Merci pour cette nouvelle version. J'ai aussi un problème : "Limite dépassée : Taille du corps de l'e-mail" peut-être trop de résultats le premier coup ? Merci. Eric.

mf216 commented 8 years ago

Oui c'est ça ! A la prochaine relance tout rentre dans l'ordre.

erics102 commented 8 years ago

est-ce que le script envoie un mail même s'il n'y a pas de résultats ? J'ai reçu 3 mail avec 0 résultats à l’intervalle de temps de mon déclencheur...

Si c'est le cas, je pense que ça serait mieux de ne pas recevoir de messages sans nouvelles annonces. Merci.

mf216 commented 8 years ago

@maximelebreton C'est pas la taille du mail qui gène, mais la lenteur de traitement de chaque ligne de requête. Ce qui m'étonne aussi le script de JF Allau tourne en même temps et votre requête ne remonte pas certaines annonces .....

maximelebreton commented 8 years ago

@mf216 La lenteur est liée à l'utilisation de cheerio, c'est l'équivalent de jquery côté serveur, et ça permet d'éviter à devoir coder des regex compliquées, et ainsi faciliter les mises à jour.

Exemple, pour extraire l'attribut href d'une annonce :

Sauf qu'effectivement, cette fonction prends environ 5 à 6 secondes, car elle doit d'abord reconstruire le dom avant de pouvoir le parcourir... Aïe !

Maintenant, en sachant que le tout est censé tourner en tache de fond, j'ai préféré miser sur la maintenabilité du script que sur sa rapidité.

C'est d'ailleurs pour cela que je n'ai pas contribué au script de JF Allot, et ai préféré en faire un nouveau fork, car ce sont deux conceptions différentes.

D'ailleurs je serais intéressé de savoir ce qu'en pense @jfallot s'il est par la !

En tout cas il y'a certainement des améliorations à apporter, et je compte m'y pencher durant le week end.

mf216 commented 8 years ago

@maximelebreton Il faut quand même reconnaitre que l'auto update est une grande amélioration. Par contre pas convaincu par l'apport du Map, on va quand même lire le détail de l'annonce, donc si ça peux accélérer (de ne pas le faire)... A regarder, ne pas envoyer d'email quand 0 J'ai vue des demandes d'arrêt d'envois dans une tranche horaire (c'est du fun)..

Je préfère quand même l'amélioration de la base. Beau travail et bon courage. Francis

maximelebreton commented 8 years ago

A savoir, j'ai mis en place la variable userParams qui permets de surcharger les paramètres par défaut de la bibliothèque.

pour désactiver les maps il suffit donc de passer cette variable via l'éditeur de scripts :

var userParams = {
  showMap: false
}

Merci pour les remarques et les encouragements !

maximelebreton commented 8 years ago

@mf216, @erics102 je viens de passer le script en 4.1.3, et tous les problèmes signalés ici ont été fixés, y compris le problème de performances.

Par contre, je viens de m'apercevoir que la mise à jour automatique (dev mode) de la bibliothèque se fait uniquement si les utilisateurs ont un accès éditeur. Donc Google oblige l'utilisateur à effectuer le changement de version manuellement , en passant par Outils > Editeur de scripts, puis Ressources > Bibliothèques.

image

Il faudra donc se satisfaire d'obtenir la dernière version en 3 clics, ce qui me semble déjà pas mal ;)

A savoir, j'ai supprimé la version 4.0 de la bibliothèque (qui était une version bêta), et ai apporté une petite modification dans le template de la feuille de calcul, donc si plus rien ne marche chez vous, c'est normal, et je vous recommande de partir sur la version 4.1.3 pour assurer une base stable.

https://github.com/maximelebreton/alertes-leboncoin#changelog