Collecte des données
A) France Travail (API)
Objectif
Collecter des offres d’emploi de manière reproductible via l’API officielle de France Travail, en s’appuyant sur des requêtes paramétrables et un mécanisme d’authentification sécurisé.
Principe
Authentification via OAuth2 (
client_credentials) avec récupération dynamique d’un access token à partir des variables d’environnement.Appels HTTP vers l’endpoint de recherche d’offres, avec paramètres contrôlés : mots-clés, localisation, type de contrat.
Pagination explicite via le paramètre
rangeafin d’itérer sur l’ensemble des résultats.Limitation volontaire du nombre d’offres collectées (
max_results) pour maîtriser le volume et le temps d’exécution.Temporisation entre les requêtes (
sleep) pour respecter les quotas et limiter les erreurs temporaires.
Implémentation
La collecte est réalisée à l’aide de la bibliothèque requests.
Chaque réponse JSON est parsée et les résultats sont concaténés dans une structure tabulaire
(Pandas DataFrame).
Les principes suivants sont appliqués :
- arrêt de la pagination lorsqu’aucun résultat n’est retourné,
- arrêt anticipé si le nombre de résultats est inférieur à la taille de page demandée,
- gestion des erreurs HTTP via raise_for_status.
Le résultat final est un DataFrame contenant les champs bruts fournis par l’API, servant de point d’entrée au pipeline de prétraitement.
—
B) Welcome to the Jungle (web scraping)
Objectif
Compléter l’exploration du marché avec une source non-API, en particulier pour les offres publiées par des PME, moins représentées dans certaines bases institutionnelles.
Principe
Navigation automatisée des pages de résultats à l’aide de Selenium (mode headless).
Construction dynamique des URLs de recherche à partir de mots-clés.
Parcours paginé des pages liste, avec récupération des liens vers les offres individuelles.
Déduplication des offres à partir de leur URL avant extraction détaillée.
Extraction des données
Pour chaque offre, la page détail est analysée et les métadonnées sont extraites à partir des blocs JSON-LD embarqués dans le HTML.
Les informations collectées incluent notamment : - intitulé du poste, - entreprise, - localisation, - type de contrat (normalisé), - description, - salaire (si disponible), - expérience requise (convertie en années lorsque possible), - secteur d’activité et informations sur l’entreprise.
Prétraitement léger lors de la collecte
Certaines normalisations sont effectuées dès la phase de collecte : - regroupement des types de contrat dans des catégories standardisées, - extraction et harmonisation des années d’expérience, - structuration des champs textuels.
Ces données issues de Welcome to the Jungle ne sont pas fusionnées directement dans la base France Travail, mais utilisées comme source complémentaire.