feature/airbnb-scraper-dynamic-selectors #25

Merged
hume merged 2 commits from feature/airbnb-scraper-dynamic-selectors into main 2026-10-17 20:18:02 +00:00
Owner
No description provided.
feat: scraper Airbnb avec sélecteurs dynamiques et mode debug
All checks were successful
Backend / backend (push) Successful in 1m27s
5e504a369d
- airbnb_scraper_selectors.json: config externe des sélecteurs CSS par champ
  (nom, téléphone, bouton gérer, bouton reveal téléphone, attente page)
  Peut être mise à jour sans toucher au code Python quand Airbnb change son DOM
- airbnb_scraper.py: utilise les sélecteurs de manière dynamique via le JSON
  - _extract_guest_name_from_page(): itère sur les méthodes configurées (css, facepile, regex)
  - _extract_phone_from_popup(): itère sur les sélecteurs élément + regex fallback
  - Bouton reveal téléphone configurable
- Mode debug (debug=True dans AirbnbScraperConfig):
  - Sauvegarde le HTML complet à chaque étape (01_after_load, 02_after_wait, 03_after_manage_click, etc.)
  - Dump JSON des éléments trouvés pour chaque sélecteur configuré
  - Output dans /tmp/airbnb_scraper_debug (configurable via debug_dir)
- scrape_booking_phone(): met à jour le tenant avec le nom seul même sans téléphone
fix: scraper Airbnb - extraction téléphone depuis le texte de la page
All checks were successful
Backend / backend (push) Successful in 1m24s
Backend / backend (pull_request) Successful in 1m18s
Migration Test / migration-test (pull_request) Successful in 29s
786a3b60a4
- Ajout de _find_phone_in_text(): recherche regex robuste dans le texte brut
  du DOM (gère espaces insécables \xa0, points, tirets)
- Recherche immédiate du téléphone après ouverture du popup, avant tout
  clic sur 'Numéro de téléphone' (le numéro est déjà dans le DOM)
- Remplacement des écouteurs réseau async par des callbacks synchrone
  (Playwright Python n'await pas les handlers page.on('response'))
- Mode debug: capture et affiche toutes les réponses réseau pour identifier
  les endpoints API
- Résultat sur HMY9CC958H: téléphone 06 76 47 85 61 + nom Lucas Birot
  (précédemment: téléphone introuvable, nom perdu)
hume merged commit 1b72f3227c into main 2026-10-17 20:18:02 +00:00
hume deleted branch feature/airbnb-scraper-dynamic-selectors 2026-10-17 20:18:02 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
hume/sci-rental-manager!25
No description provided.