Scraping et collecte de données

La moitié des données dont vous avez besoin dort sur une page web sans bouton d'export. On passe d'une simple requête à un crawler planifiable, en apprenant à trouver l'API cachée avant de parser du HTML, et à être un invité que le site n'a pas envie de bannir.

Durée : 2 jours · Niveau : intermédiaire

Pour qui : les développeurs, analystes et toute personne ayant besoin de collecter des données sur le web.

Prérequis : les bases de Python.

Web scraping and data collection

Jour 1 — Télécharger et parser

  • Révision du protocole HTTP : méthodes, headers, codes de statut
  • Requests et httpx
  • Les encodages, ou pourquoi vos accents sont devenus illisibles
  • Parser du HTML avec BeautifulSoup, lxml et selectolax
  • S'y retrouver avec les sélecteurs CSS et XPath
  • Formulaires, sessions et cookies
  • L'API cachée derrière la page : lire l'onglet réseau
  • Les sites bourrés de JavaScript : piloter un navigateur avec Playwright
  • Stocker les résultats en CSV et SQLite

Jour 2 — Passer à l'échelle, poliment

  • Rester poli : robots.txt, rate limiting, user agent
  • Ce que permettent la loi et les conditions d'utilisation
  • Retries, timeouts et résilience
  • Ne pas télécharger deux fois : le cache avec diskcache
  • Crawler beaucoup de pages à la fois avec asyncio et httpx
  • Nettoyer et valider les données avec Pydantic
  • Planifier son scraper
  • Quand un framework en vaut la peine : tour d'horizon de Scrapy

Passez au niveau supérieur en Python !