EveryWeek#2 Alerte leboncoin en temps réel

Pour ce deuxième EveryWeek nous avons encore une fois voulu répondre à un besoin réel qui touchent plusieurs d'entre nous à l'agence, actuellement à la recherche d'un logement.

Leboncoin.fr est un des sites référence de petites annonces en ligne, il y a beaucoup, beaucoup d'offres de disponible. Malheureusement, à la différence de la plupart des autres sites de recherche de logement, il ne propose pas d'alerte en temps réel des nouvelles annonces postées.

Ce message n'est pas complet : Á chaque fois que je recevais leurs alertes, les annonces y figurant avaient été postées il y a 7h, 8h voir une journée avant. C'est bien trop long quand on cherche un appartement sur Paris !

J'ai donc réalisé un petit programme (autrement appelé "Scraper") qui permet de détecter si une nouvelle annonce est disponible dans ma recherche, et de me l'envoyer.

Le "script" est exécuté toute les minutes sur le serveur grâce à une "tâche cron" (ndlr - une tâche planifiée sous Unix). Il aspire la page html correspondante à ma recherche, la parse ("en parcourt le code") pour récupérer l'heure de publication de chaque annonce et me l'envoyer par mail dans le cas où c'est une nouvelle annonce.
L'email contient le lien direct de l'annonce et en objet le nom de ma recherche.
Pour aller plus loin : Il serait aussi envisageable de modifier le script pour qu'il s'interface au channel Maker d'IFTTT pour activer l'envoi d'un sms, d'un message dans Slack, ou imaginer une autre manifestation de l'alerte !

J'ai choisi d'écrire mon script en python, mais l'algorithme est tout à fait déclinable dans un langage web objet (en JS par exemple).

Le code est libre d'inspiration et disponible sur github, je vous invite à le tester, l'améliorer. Et comme toujours n'hésitez pas à poser vos questions dans les commentaires de cet article pour éclaircir un point d'ombre ou en discuter :)