Un programme de collecte qui range le détail des annonces dans Excel dès qu'un complexe est choisi
Le travail consistait à ouvrir chaque annonce et à en recopier les détails. Désormais, on choisit le complexe qui nous intéresse, on lance le programme, et le détail des annonces se rassemble automatiquement dans deux fichiers Excel. L'exécutable unique se lance sans installer Python.
Vérification du détail des annonces du complexe
Avant
Ouverture de l'écran pour chaque annonce
Après
1 seule exécution après choix du complexe · tri dans Excel
Contexte
Dans ce travail, les complexes qui nous intéressent sont fixés à l’avance. Six complexes sont désignés, et il faut suivre en continu combien d’annonces y sont actuellement en ligne, quelles sont leurs conditions, et ce qui a changé par rapport à la veille.
Ce que nous avons vu sur place
Pour vérifier une annonce, il faut l’ouvrir depuis la liste, lire les éléments nécessaires à l’écran et les recopier. Avec six complexes, ce n’est pas six fois, mais autant de fois qu’il y a d’annonces. Et le lendemain, tout recommence depuis le début.
Le problème défini
Le problème n’était pas de collecter, mais de collecter jusqu’au bout. Quand on enchaîne les requêtes d’annonces trop vite, la réponse se coupe en cours de route. Si on ne peut pas reprendre là où elle a été coupée, la collecte du jour reste à moitié faite.
Ce qui a été réalisé
- Choix du complexe et volume de collecte — on ne retient que les complexes souhaités parmi ceux enregistrés, et on fixe le nombre d’annonces à récupérer, de 1 à 1 000
- Régulation de l’intervalle entre requêtes — entre deux annonces, on fixe deux délais d’attente, minimum et maximum (chacun de 1~30 secondes), et le programme patiente au hasard dans cet intervalle. Par défaut, 2~5 secondes. Ne pas se précipiter est précisément ce qui permet d’aller jusqu’au bout
- Progression affichée à l’écran — la progression globale, l’étape en cours, le numéro de l’annonce en cours, et une ligne de journal à chaque annonce terminée. Une tâche longue sans progression visible est impossible à distinguer d’un arrêt
- Arrêt en cas d’échecs en chaîne — si les échecs consécutifs dépassent un seuil fixé, la collecte s’interrompt. C’est mieux que de continuer à empiler des données vides
- Deux fichiers Excel — on obtient à la fois le tableau de synthèse, lisible directement, et le tableau qui déplie la totalité des données brutes reçues. Le tableau de synthèse est fixé à 34 colonnes, après filtrage des colonnes vides et des lignes en double. Le nombre de colonnes du tableau déplié dépend de la composition des annonces collectées (les deux fichiers restés dans le dossier de livraison en contiennent respectivement 428 et 696)
- Exécution sans installation — le programme se lance avec un seul fichier exécutable, sans installer Python ni toucher à la ligne de commande. Au lancement, il trouve un port libre et le navigateur s’ouvre tout seul
Résultat
On choisit le complexe, on appuie sur le bouton : les annonces sont collectées une à une, et à la fin les fichiers Excel s’ajoutent dans le dossier. Le bouton « Ouvrir le dossier Excel » de l’écran ouvre directement ce dossier.
D’autres travaux réalisés de la même manière sont réunis dans Collecte de données web.
Sources des faits
Écran d'exécution du programme livré