Si vous êtes dans le recrutement ou l'analyse RH, vous avez probablement déjà rencontré la situation suivante : il faut rapidement rassembler 500+ offres d'emploi de concurrents, suivre le marché des salaires ou extraire les contacts des employeurs - et les plateformes vous bloquent après seulement 20-30 requêtes. LinkedIn et HeadHunter protègent activement leurs données, et sans la bonne approche, le parsing se transforme en une lutte sans fin contre les CAPTCHA et les blocages.
Dans ce guide, nous allons examiner quels outils fonctionnent réellement en 2024, comment configurer des proxy pour une collecte de données stable et quelles erreurs éviter pour ne pas perdre votre compte.
Pourquoi LinkedIn et HeadHunter bloquent le parsing
Les deux plateformes tirent leurs revenus des données. LinkedIn vend l'accès à sa base de données via des abonnements payants Recruiter et Recruiter Lite, tandis que HeadHunter le fait via une API et des publications payantes. Lorsque quelqu'un commence à collecter massivement ces données gratuitement, les plateformes réagissent de manière stricte. Voici les mécanismes de protection spécifiques auxquels vous serez confronté :
Limitation de taux — restriction de la fréquence des requêtes
LinkedIn suit le nombre de vues de profils et de pages d'offres d'emploi dans un laps de temps donné. Un compte gratuit peut consulter environ 300 profils par mois - après cela, vous recevez un avertissement ou un blocage temporaire. Lors du parsing automatique sans délais entre les requêtes, cette limite est atteinte en quelques minutes. HeadHunter limite le nombre de requêtes de recherche depuis une seule adresse IP - en cas de dépassement, un CAPTCHA s'affiche ou l'accès est temporairement bloqué.
Analyse du comportement et User-Agent
Les plateformes analysent les modèles de comportement : un utilisateur réel fait défiler la page, s'attarde sur le contenu, clique de manière non séquentielle. Un bot effectue des requêtes à intervalles réguliers, ne fait pas défiler, envoie des en-têtes atypiques. LinkedIn vérifie également la présence d'une session authentifiée - sans connexion à votre compte, vous voyez des données limitées et êtes rapidement bloqué par IP.
Blocage par adresse IP
C'est la protection la plus courante. Si trop de requêtes proviennent d'une seule IP, celle-ci est mise sur liste noire. Les IP des centres de données (AWS, Google Cloud, Hetzner) sont particulièrement rapidement bloquées : les plateformes connaissent ces plages d'adresses et les considèrent avec suspicion. Les IP domestiques et mobiles sont moins souvent bloquées, car elles peuvent appartenir à de véritables utilisateurs.
⚠️ Important à savoir
LinkedIn a considérablement renforcé sa protection en 2023 : même lors de la consultation manuelle de profils avec un VPN ou un proxy de centre de données, le compte peut être bloqué. Pour travailler avec LinkedIn, il est crucial d'utiliser des proxies résidentiels ou mobiles.
Que collectent exactement les recruteurs et les analystes RH
Avant de configurer des outils, déterminez votre objectif - cela influencera le choix de l'approche et du type de proxy. Voici les principaux scénarios avec lesquels travaillent les spécialistes RH et les agences de recrutement :
| Objectif | Plateforme | Volume de données |
|---|---|---|
| Surveillance des salaires sur le marché | HeadHunter, LinkedIn | 500–5000 offres d'emploi/jour |
| Collecte des contacts des employeurs | 100–1000 profils/jour | |
| Analyse des exigences des candidats | HeadHunter, LinkedIn | 1000–10 000 offres d'emploi |
| Suivi des nouvelles offres d'emploi des concurrents | HeadHunter | Surveillance quotidienne |
| Recherche de candidats passifs | 50–500 profils/jour |
Point clé : les tâches avec un grand volume de données (des milliers d'offres d'emploi par jour) nécessitent un pool de proxy avec rotation. Les tâches avec un petit volume (surveillance de 50-100 positions quotidiennement) peuvent être résolues avec 1-2 proxy statiques en respectant les délais entre les requêtes.
Outils prêts à l'emploi pour le parsing des offres d'emploi
Bonne nouvelle : il n'est pas nécessaire d'écrire du code depuis le début. Il existe des solutions prêtes à l'emploi pour différentes tâches et niveaux de compétence technique. Examinons les principales catégories.
Outils sans code (no-code)
Apify — une plateforme cloud avec des "acteurs" prêts à l'emploi pour LinkedIn et HeadHunter. Il existe un scraper LinkedIn Jobs et un scraper HH.ru. Vous indiquez simplement les paramètres de recherche, la plateforme fait le reste. Prend en charge la connexion de vos propres proxy. Tarifs à partir de 49 $/mois, avec un quota gratuit.
Phantombuster — spécialisé dans LinkedIn. Peut collecter des offres d'emploi, des profils, des contacts d'entreprises. Fonctionne via un compte LinkedIn authentifié. Prend en charge les proxy. Important : un compte LinkedIn = un profil proxy, sinon vous risquez un blocage pour changement d'IP.
Octoparse — un constructeur de parseurs visuel. Permet de configurer la collecte de données à partir de n'importe quel site sans code, en indiquant les éléments nécessaires avec la souris. Prend en charge la rotation des proxy. Convient pour HeadHunter — l'interface est simple et compréhensible.
Outils pour utilisateurs techniques
ParseHub — application de bureau avec une interface visuelle, mais plus flexible qu'Octoparse. Peut travailler avec du contenu dynamique (pages JavaScript). Pour LinkedIn, c'est critique — la plupart des données sont chargées dynamiquement.
Bright Data (Web Scraper IDE) — plateforme professionnelle avec des proxy intégrés. Il existe des modèles prêts à l'emploi pour LinkedIn. Cher, mais fiable pour un volume industriel.
HH.ru API — API officielle de HeadHunter. Gratuit pour un usage non commercial, payant pour les entreprises. Si votre tâche est de surveiller les offres d'emploi, et non de collecter massivement des contacts, l'API officielle est l'option la plus stable. Limites : 50 requêtes par seconde pour les applications authentifiées.
💡 Conseil
Pour HeadHunter, commencez par l'API officielle — c'est légal, stable et gratuit jusqu'à certaines limites. Pour LinkedIn, il est indispensable d'utiliser des outils tiers et des proxy, car il n'existe pas d'API publique officielle pour les offres d'emploi.
Pourquoi des proxy sont nécessaires et quel type choisir
Les proxy sont des serveurs intermédiaires par lesquels passent vos requêtes. La plateforme voit l'IP du proxy, et non votre véritable adresse. Avec la rotation des proxy (changement automatique d'IP), chaque requête apparaît comme une requête d'un nouvel utilisateur — cela permet de contourner les limites et les blocages.
Mais tous les proxy ne sont pas également efficaces pour LinkedIn et HeadHunter. Le choix du type de proxy influence considérablement le résultat :
| Type de proxy | HeadHunter | Vitesse | Prix | |
|---|---|---|---|---|
| Résidentiels | ✅ Excellent | ✅ Excellent | Moyenne | $$ |
| Mobiles | ✅ Excellent | ✅ Bon | Moyenne | $$$ |
| Centres de données | ❌ Souvent bloqués | ⚠️ Modérément | Élevée | $ |
Les proxies résidentiels — le choix optimal pour LinkedIn
Les proxies résidentiels utilisent de vraies adresses IP d'utilisateurs domestiques. Du point de vue de LinkedIn — c'est une personne ordinaire assise chez elle. Ces IP sont très rarement mises sur liste noire, et la plateforme ne peut pas les distinguer d'un utilisateur réel. Pour le parsing de LinkedIn, c'est la norme de l'industrie.
Paramètres clés lors du choix de proxies résidentiels pour le parsing des offres d'emploi :
- Géolocalisation : choisissez une IP du pays dont vous parsez les offres (pour HeadHunter — Russie, pour LinkedIn — le pays souhaité)
- Rotation : changement automatique d'IP après chaque requête ou selon un minuteur
- Pool d'IP : plus il y en a, mieux c'est, cela réduit le risque de réutilisation d'une IP bloquée
- Support HTTP/HTTPS et SOCKS5 — la plupart des outils de parsing nécessitent ces protocoles
Proxies mobiles — pour travailler avec des comptes LinkedIn
Si vous parsez LinkedIn via un compte authentifié (comme le fait Phantombuster), les proxies mobiles offrent un avantage supplémentaire : LinkedIn voit l'opérateur mobile comme une source et fait davantage confiance à ces IP. Une seule IP mobile peut servir des milliers de vrais utilisateurs (derrière le NAT de l'opérateur), donc même une activité élevée à partir de celle-ci ne suscite pas de soupçons.
Proxies de centres de données — uniquement pour HeadHunter
Les proxies de centres de données — rapides et bon marché, mais LinkedIn les bloque agressivement. Pour HeadHunter, ils fonctionnent mieux : la plateforme est moins paranoïaque envers les IP de centres de données, surtout si vous respectez les délais entre les requêtes. Ils conviennent pour une surveillance budgétaire des offres d'emploi sur HH à faible volume.
Parsing de LinkedIn : configuration étape par étape
LinkedIn est la plateforme la plus difficile à parser. Il est important d'agir avec prudence pour ne pas perdre votre compte. Examinons un schéma de travail à l'aide de Phantombuster — l'un des outils les plus populaires parmi les recruteurs.
Étape 1 : Préparez votre compte LinkedIn
N'utilisez jamais votre compte de travail principal pour le parsing. Créez un compte séparé ou utilisez un compte secondaire. S'il est bloqué — vous ne perdrez pas de précieux contacts et votre historique. Le compte doit être "réchauffé" : profil rempli, quelques contacts, au moins une semaine d'activité avant de commencer le parsing.
Étape 2 : Liez le proxy à votre compte
Règle critique : un compte LinkedIn = une adresse IP. Si vous vous connectez aujourd'hui avec l'IP 1 et demain avec l'IP 2 — c'est un signal rouge pour le système de sécurité de LinkedIn. Utilisez un proxy résidentiel statique (session collante) pour chaque compte.
Dans Phantombuster, la configuration du proxy se fait comme suit :
- Accédez à Settings → Proxies dans votre compte Phantombuster
- Cliquez sur Add Proxy
- Entrez les données du proxy : hôte, port, identifiant, mot de passe
- Sélectionnez le type : HTTP ou SOCKS5 (selon votre fournisseur de proxy)
- Cliquez sur Test Proxy — assurez-vous que le proxy fonctionne
- Assignez ce proxy à un "fantôme" spécifique (tâche) qui travaille avec votre compte
Étape 3 : Configurez l'exportation des offres d'emploi LinkedIn
Dans Phantombuster, trouvez le fantôme "LinkedIn Jobs Search Export". Paramètres :
- Search URL : collez l'URL de recherche d'offres d'emploi LinkedIn avec les filtres nécessaires (poste, ville, type d'emploi)
- Number of jobs per launch : commencez par 25-50. Ne mettez pas 500 dès le premier jour
- Launch frequency : 1 fois toutes les 2-3 heures. Ne lancez pas en continu
- Session cookie : copiez le cookie li_at depuis votre navigateur (des instructions sont disponibles dans Phantombuster)
Étape 4 : Configurez des limites sécurisées
LinkedIn bloque pour agressivité, et non pour le simple fait de parser. Limites sécurisées pour un seul compte :
- Pas plus de 80-100 vues d'offres d'emploi par jour
- Délai entre les requêtes : minimum 3-5 secondes
- Faites des pauses pendant la nuit (imitez le comportement humain)
- Ne lancez pas le parsing pendant les week-ends — cela semble suspect pour une plateforme B2B
⚠️ Si vous avez besoin d'un grand volume de données de LinkedIn
Si vous devez parser des milliers d'offres d'emploi par jour — utilisez plusieurs comptes, chacun avec son propre proxy résidentiel. Un compte + une IP = maximum 100 offres d'emploi par jour sans risque de blocage. 10 comptes × 100 = 1000 offres d'emploi par jour.
Parsing de HeadHunter : caractéristiques et configuration
HeadHunter est plus simple que LinkedIn en matière de parsing pour deux raisons : il dispose d'une API officielle, et la protection est moins agressive. Cependant, lors de la collecte massive de données sans la bonne configuration, vous obtiendrez tout de même un blocage.
Option 1 : API officielle de HeadHunter (recommandée)
Si votre tâche est de surveiller les offres d'emploi et d'analyser le marché (sans collecte de contacts), utilisez l'API officielle hh.ru. C'est complètement légal et donne un accès stable aux données.
- Enregistrez une application sur dev.hh.ru
- Obtenez client_id et client_secret
- Utilisez le point de terminaison GET /vacancies pour rechercher des offres d'emploi
- Paramètres de filtrage : text, area (région), salary, experience, schedule
- Limite : 50 requêtes par seconde pour les applications authentifiées
Le résultat arrive au format JSON — il est facile à charger dans Excel ou Google Sheets via des outils comme Zapier ou Make (anciennement Integromat) sans écrire de code.
Option 2 : Parsing via Apify (sans code)
Si vous avez besoin de données qui ne sont pas disponibles dans l'API officielle (par exemple, contacts des employeurs ou données dans un format non standard), utilisez Apify avec un acteur prêt à l'emploi pour HH.ru :
- Accédez à apify.com et trouvez l'acteur "HH.ru Scraper"
- Cliquez sur Try for free
- Dans les paramètres, indiquez la requête de recherche (poste, ville)
- Dans la section Proxy configuration, choisissez "Custom proxies" et collez les données de vos proxies
- Pour HeadHunter, des proxies résidentiels avec des IP russes conviennent — la plateforme est régionale
- Cliquez sur Start et attendez les résultats
- Exportez les données en CSV, JSON ou Excel
Option 3 : Octoparse pour des tâches avancées
Octoparse permet de configurer le parsing de n'importe quel élément de la page HH.ru — y compris ceux qui ne sont pas disponibles dans l'API. Par exemple, vous pouvez collecter des descriptions d'offres d'emploi complètes, des coordonnées (si elles sont visibles), des liens vers des entreprises.
- Téléchargez et installez Octoparse
- Créez une nouvelle tâche, collez l'URL de recherche d'offres d'emploi sur hh.ru
- Utilisez le mode Auto-detect — Octoparse détectera automatiquement la structure de la liste
- Vérifiez que tous les champs nécessaires sont sélectionnés (titre, entreprise, salaire, ville)
- Dans les paramètres de la tâche, activez IP Rotation et ajoutez vos proxies
- Définissez un délai entre les requêtes : 2-4 secondes
- Lancez dans le cloud (Cloud Extraction) pour une collecte continue
💡 Géolocalisation des proxies pour HeadHunter
HeadHunter détermine la région de l'utilisateur par IP et affiche des offres d'emploi régionales. Si vous souhaitez parser des offres d'emploi d'une ville spécifique (par exemple, uniquement Moscou ou Saint-Pétersbourg), utilisez des proxies avec des IP de cette région. Pour une surveillance générale en Russie, n'importe quelle IP russe suffit.
Erreurs fréquentes et comment les éviter
La plupart des problèmes lors du parsing de LinkedIn et HeadHunter proviennent des mêmes erreurs. Voici une liste de contrôle des choses à ne pas faire :
❌ Erreur 1 : Utilisation d'une seule IP pour tout
L'erreur la plus courante des débutants est de lancer le parsing depuis leur IP domestique ou depuis un seul proxy. Dès que la plateforme détecte une activité anormale — l'IP est bloquée définitivement. Solution : utilisez des proxies rotatifs avec changement automatique d'IP ou un pool de plusieurs proxies statiques.
❌ Erreur 2 : Vitesse de requêtes trop élevée
Parser 1000 pages en 10 minutes — c'est un chemin sûr vers un blocage. Un utilisateur réel ne peut physiquement pas consulter des pages à cette vitesse. Définissez des délais : minimum 2-3 secondes entre les requêtes pour HeadHunter, 5-10 secondes pour LinkedIn. Ajoutez une variation aléatoire des délais (pas exactement 3 secondes, mais entre 2 et 5 — cela imite un humain).
❌ Erreur 3 : Changement d'IP pour un compte LinkedIn
Si vous utilisez des proxies rotatifs pour travailler avec un compte LinkedIn authentifié — chaque requête provient d'une nouvelle IP. LinkedIn voit cela comme un piratage de compte (quelqu'un se connecte depuis différents endroits) et le bloque. Pour les sessions authentifiées, utilisez uniquement des proxies collants (IP fixe pendant une longue période) ou des proxies résidentiels statiques.
❌ Erreur 4 : Ignorer le User-Agent
User-Agent est la chaîne que le navigateur envoie au serveur pour s'identifier. De nombreux outils de parsing envoient par défaut un User-Agent de type "python-requests/2.28.0" — cela identifie instantanément un bot. Configurez un User-Agent réaliste d'un navigateur moderne. Dans Apify et Phantombuster, cela se fait automatiquement, dans Octoparse — dans les paramètres de la tâche.
❌ Erreur 5 : Parsing sans vérification du robots.txt
LinkedIn interdit le parsing dans son robots.txt et poursuit activement les entreprises qui le font à grande échelle. Cela ne signifie pas qu'il est impossible de collecter des données pour une analyse personnelle — mais il est important de comprendre les risques juridiques en cas d'utilisation commerciale. HeadHunter est plus tolérant, surtout si vous utilisez l'API officielle.
❌ Erreur 6 : Proxies publics bon marché
Les proxies gratuits ou très bon marché provenant de listes publiques sont un piège. Ils sont déjà bloqués par la plupart des plateformes, fonctionnent de manière instable et interceptent souvent des données. Pour un travail sérieux, des proxies payants de fournisseurs fiables avec de véritables IP résidentielles ou mobiles sont nécessaires.
Liste de contrôle avant de lancer le parsing
- ✅ Utilisation d'un compte séparé (pas le compte de travail principal)
- ✅ Proxy résidentiels ou mobiles connectés
- ✅ Pour LinkedIn : un compte = une IP fixe
- ✅ Délais entre les requêtes configurés (minimum 3 sec)
- ✅ User-Agent configuré comme celui d'un vrai navigateur
- ✅ Limite quotidienne de requêtes limitée à des valeurs raisonnables
- ✅ Proxies testés avant le lancement
- ✅ Géolocalisation des proxies correspondant à la région cible
Conclusion
Le parsing des offres d'emploi sur LinkedIn et HeadHunter est un outil de travail pour les recruteurs, les analystes RH et les chercheurs sur le marché du travail. L'essentiel est de choisir la bonne approche : pour HeadHunter, commencez par l'API officielle, pour LinkedIn, utilisez des outils spécialisés comme Phantombuster ou Apify avec des proxies correctement configurés.
Les points clés du guide : LinkedIn nécessite des proxies résidentiels ou mobiles avec une IP fixe par compte, HeadHunter est moins strict, mais nécessite également des proxies pour des volumes élevés. Respectez les limites de requêtes, imitez le comportement humain et ne jamais utiliser votre compte principal pour l'automatisation.
Si vous prévoyez une surveillance régulière des offres d'emploi ou une collecte de données à grande échelle sur LinkedIn, nous vous recommandons d'utiliser des proxies résidentiels — ils offrent la compatibilité maximale avec les deux plateformes et un risque minimal de blocages même lors d'une utilisation prolongée.