L'extraction de données LinkedIn permet d'obtenir des informations précieuses pour le recrutement, les ventes et les études de marché. Ce guide vous montre comment extraire les profils LinkedIn, les pages d'entreprise et les flux d'actualités à l'aide de Python et de… Crawlbase's Crawling API.

Table des Matières

Pourquoi scraper LinkedIn ?

L'extraction de données LinkedIn offre des avantages considérables :

Une image qui énumère les raisons pour lesquelles supprimer les emplois LinkedIn est important
  1. Gain de talentAutomatisez le sourcing de candidats et trouvez plus rapidement des professionnels qualifiés.
  2. Ventes et génération de leads:Les équipes de vente peuvent extraire les profils LinkedIn pour collecter des prospects, les surveiller pour les utiliser par des démarcheurs téléphoniques ou développer stratégies de sensibilisation ciblées.
  3. Étude de MarchéSurveiller la concurrence, les tendances du secteur et les indicateurs de référence du marché
  4. Analyse du marché du travailSuivre les tendances en matière d'embauche, de salaires et de compétences recherchées
  5. Recherche académiqueCollecter des ensembles de données sur le réseautage professionnel et les parcours de carrière.

Quelles données pouvons-nous extraire de LinkedIn ?

Profils LinkedIn :

  • Informations personnelles:Noms, titres de poste, postes actuels et passés, formation, compétences, recommandations et recommandations.
  • Informations de contact:E-mails, numéros de téléphone (si accessibles au public) et profils de réseaux sociaux.
  • Engagement des équipes: Publications, articles et autres contenus partagés ou appréciés par l'utilisateur.

Pages de l'entreprise :

  • Détails de la société:Nom, secteur d’activité, taille, emplacement, site Web et description de l’entreprise.
  • Offres d'emplois:Postes vacants actuels, descriptions de poste, exigences et liens de candidature.
  • Information sur les employés:Liste des employés, leurs rôles et leurs relations au sein de l'entreprise.
  • Mises à jour et nouvelles:Les publications, articles et mises à jour de l'entreprise sont partagés sur leur page.

Flux LinkedIn :

  • Flux d'activité:Dernières mises à jour, publications et articles des utilisateurs et des entreprises qui vous intéressent.
  • Mesures de fiançailles:J'aime, commentaires, partages et engagement global des publications.
  • Analyse de contenu:Types de contenu partagés, sujets tendance et modèles d'engagement des utilisateurs.

Défis et solutions du scraping

Le scraping de LinkedIn peut fournir des données précieuses, mais cela comporte également ses défis.

Une image montrant les défis potentiels du scraping LinkedIn qui sont répertoriés ci-dessous.

Mesures anti-grattage

  • ChallengeBlocage IP et CAPTCHA
  • Solution: Crawlbase assure la rotation des proxys et la gestion des CAPTCHA

Contenu dynamique

  • ChallengePages rendues en JavaScript
  • SolutionUtilisez des navigateurs sans interface graphique ou Crawlbasemoteur de rendu
  • Challenge: Restrictions des conditions d'utilisation de LinkedIn
  • SolutionConcentrez-vous uniquement sur les données publiques et respectez les lois sur la protection de la vie privée.

Volume de données

  • Challenge: Traitement de grands ensembles de données
  • SolutionRequêtes asynchrones et stockage structuré
bannière d'appel à l'action intelligente pour LinkedIn scraper

Commencer avec Crawlbase

Pour récupérer LinkedIn en utilisant Crawlbase's Crawling APIVous devez configurer votre environnement Python. Avant de commencer, consultez Tarifs LinkedIn ici.

1. Installez Python :

Téléchargez et installez Python à partir du site web officielAssurez-vous d'ajouter Python au PATH de votre système lors de l'installation.

2. Créer un environnement virtuel :

Ouvrez votre terminal ou votre invite de commande et accédez au répertoire de votre projet. Créez un environnement virtuel en exécutant :

1
python -m venv venv

Activez l'environnement virtuel :

  • Sur Windows:

    1
    .\venv\Scripts\activate
  • Sous macOS/Linux :

    1
    source venv/bin/activate

3. Installer Crawlbase Bibliothèque:

Avec l'environnement virtuel activé, installez le Crawlbase bibliothèque utilisant pip :

1
pip installe crawlbase

Extraction de données des profils LinkedIn :

Commencez par importer les bibliothèques nécessaires et initialiser le Crawlbase API avec votre jeton d'accès. Définissez l'URL du profil LinkedIn à récupérer et définissez les options de récupération.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
à partir de base d'exploration importer API d'exploration
importer json

# Initialiser Crawlbase API avec votre jeton d'accès
crawling_api = API d'exploration({ 'jeton': 'VOTRE_API_TOKEN' })

URL = "https://www.linkedin.com/in/kaitlyn-owen"

choix = {
'grattoir': « profil linkedin »,
'asynchrone': 'vrai'
}

# Fonction pour faire une requête en utilisant Crawlbase API
def créer_une_requête_crawlbase(url):
réponse = crawling_api.get(url, options)
if réponse['code_d'état']== 200:
retourner json.loads(réponse['corps'].décoder('latin1'))
d'autre:
impression(« Échec de la récupération de la page. Code d'état : », réponse['code_d'état'])
retourner Aucun

def profil_gratté(url):
Essai:
json_response = make_crawlbase_request(url)
if json_response :
retourner json_response
sauf Exception as e:
impression(f"La demande a échoué : {e}")

retourner Aucun

if __nom__ == '__principale__':
scraped_data = scrape_profile(URL)
impression(json.dumps(données_grattées, indent=2))

Ce script initialise le Crawlbase API, définit l'URL du profil LinkedIn à récupérer et utilise le linkedin-profile grattoir. Il effectue une requête asynchrone pour récupérer les données de profil et imprime la réponse JSON.

Exemple de sortie :

1
2
3
{
"débarrasser": "1dd4453c6f6bd93baf1d7e03"
}

Récupération de données à partir de Crawlbase Cloud Storage:

Lors de l'utilisation de requêtes asynchrones, Crawlbase Cloud Storage enregistre la réponse et fournit un identifiant de requête (RID). Vous devez utiliser ce RID pour récupérer les données.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
à partir de base d'exploration importer API de stockage
importer json

# Initialiser Crawlbase Cloud Storage avec votre jeton d'accès
stockage_api = StockageAPI({ 'jeton': 'VOTRE_API_TOKEN' })

DÉBRIS = 'votre_identifiant_de_demande'

# Fonction pour récupérer des données à partir de Crawlbase storage
def récupérer_des_données(débarrasser):
réponse = storage_api.get(rid)
if réponse['code_d'état']== 200:
retourner json.loads(réponse['corps'].décoder('latin1'))
d'autre:
impression(« Échec de la récupération des données. Code d'état : », réponse['code_d'état'])
retourner Aucun

if __nom__ == '__principale__':
données_récupérées = récupérer_données(RID)
impression(json.dumps(données récupérées, indent=2))

Ce script récupère la réponse stockée à l'aide du rid et imprime les données JSON.

Exemple de sortie :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
"résumé": [« Je suis un professionnel motivé et passionné par l'aide personnelle aux chirurgiens… »],
"activités": [
{
« Titre »: « Avec permission - 4 ans après l'explantation d'un greffon aortique infecté placé dans une autre institution locale. Jouer au golf et aimer la vie. Cordialement… »,
"lien": "https://www.linkedin.com/posts/peter-rossi-md-facs-dfsvs-9393b934_aorta-aortaed-activity-7185799259269525504-DI5k?trk=public_profile",
"image": "https://media.licdn.com/dms/image/D5622AQFKrMD3lTsK3w/feedshare-shrink_2048_1536/0/1713228047686?e=2147483647&v=beta&t=eZ4Blo9-IEPoDaF7TgUQbm-gFtDmRGTaW1uZOqLWEM4",
« attributions »: {
« Titre »: "Aimé par Kaitlyn Owen",
"lien": "https://www.linkedin.com/in/kaitlyn-owen?trk=public_profile_actor-name"
}
},
{
« Titre »: « Kaitlyn Owen »,
"position": "",
"lien": "https://www.linkedin.com/in/kaitlyn-owen-1a469575?trk=public_profile_samename-profile",
"image": nul,
"emplacement": « Redmond, Washington »
}
],
« Profils similaires »: []
}

Extraction de pages d'entreprises

Utilisez l'option linkedin-company Outil de collecte de données organisationnelles :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
à partir de base d'exploration importer API d'exploration
importer json

# Initialiser Crawlbase API avec votre jeton d'accès
crawling_api = API d'exploration({ 'jeton': 'VOTRE_API_TOKEN' })

URL = 'https://www.linkedin.com/company/amazon'

choix = {
'grattoir': 'entreprise-linkedin',
'asynchrone': 'vrai'
}

# Fonction pour faire une requête en utilisant Crawlbase API
def créer_une_requête_crawlbase(url):
réponse = crawling_api.get(url, options)
if réponse['code_d'état']== 200:
retourner json.loads(réponse['corps'].décoder('latin1'))
d'autre:
impression(« Échec de la récupération de la page. Code d'état : », réponse['code_d'état'])
retourner Aucun

def entreprise_scrape(url):
Essai:
json_response = make_crawlbase_request(url)
if json_response :
retourner json_response
sauf Exception as e:
impression(f"La demande a échoué : {e}")

retourner Aucun

if __nom__ == '__principale__':
scraped_data = scrape_company(URL)
impression(json.dumps(données_grattées, indent=2))

Ce script initialise le Crawlbase API, définit l'URL de la page d'entreprise LinkedIn que vous souhaitez récupérer et spécifie le linkedin-company grattoir. Le script effectue ensuite une requête asynchrone pour récupérer les données de l'entreprise et imprime la réponse JSON.

Exemple de sortie :

1
2
3
{
"débarrasser": "f270321bbebe203b43cebedd"
}

Récupération de données à partir de Crawlbase Cloud Storage

Comme pour le scraping de profil, les requêtes asynchrones renverront un rid. Vous pouvez utiliser ceci rid pour récupérer les données stockées.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
à partir de base d'exploration importer API de stockage
importer json

# Initialiser Crawlbase Cloud Storage avec votre jeton d'accès
stockage_api = StockageAPI({ 'jeton': 'VOTRE_API_TOKEN' })

DÉBRIS = 'votre_identifiant_de_demande'

# Fonction pour récupérer des données à partir de Crawlbase storage
def récupérer_des_données(débarrasser):
réponse = storage_api.get(rid)
if réponse['code_d'état']== 200:
retourner json.loads(réponse['corps'].décoder('latin1'))
d'autre:
impression(« Échec de la récupération des données. Code d'état : », réponse['code_d'état'])
retourner Aucun

if __nom__ == '__principale__':
données_récupérées = récupérer_données(RID)
impression(json.dumps(données récupérées, indent=2))

Ce script récupère et imprime les données de l'entreprise stockées à l'aide du rid.

Exemple de sortie :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
« Titre »: "Amazone",
"titre": "Développement de logiciels",
"image_de_couverture": "https://media.licdn.com/dms/image/D4D3DAQGri_YWxYb-GQ/image-scale_191_1128/0/1681945878609/amazon_cover?e=2147483647&v=beta&t=DEHImsFhQdlARMSTcY2AmdImxdLxIyvDncPmPQEpebY",
« image_de_l'entreprise »: "https://media.licdn.com/dms/image/C560BAQHTvZwCx4p2Qg/company-logo_200_200/0/1630640869849/amazon_logo?e=2147483647&v=beta&t=2vRB20XZOYNtXSr5GHAUUQXXII4lvgcotA2QTMcRHOI",
"url": "https://www.linkedin.com/company/amazon",
"employés": {
"nombre d'employés": 737833,
"lien": "https://www.linkedin.com/search/results/people/?facetCurrentCompany=%5B15218805%2C+2649984%2C+17411%2C+78392228%2C+208137%2C+61712%2C+2382910%2C+49318%2C+16551%2C+80073065%2C+47157%2C+21433%2C+71099%2C+860467%2C+12227%2C+167364%2C+4787585%2C+11091426%2C+451028%2C+111446%2C+14951%2C+46825%2C+2320329%2C+34924%2C+1586%5D"
},
{
"adresse": "Marcel-Breuer-Straße 12Munich, Bavière 80807, DE",
"lien": "https://www.bing.com/maps?where=Marcel-Breuer-Stra%C3%9Fe+12+Munich+80807+Bavaria+DE&trk=org-locations_url"
}
]
},
« employés de l'entreprise »: [
{
« Titre »: "Steven Hatch",
"position": « Leader expérimenté en ingénierie chez Amazon | IA générative chez Amazon »,
"lien": "https://www.linkedin.com/in/hatch?trk=org-employees",
"image": "https://media.licdn.com/dms/image/D4E03AQG823Q38d3Igg/profile-displayphoto-shrink_100_100/0/1673281011530?e=2147483647&v=beta&t=sK2PKC8tMDWU5koa0DpKxZzhQ1Zofs1shi941xNscrQ",
"emplacement": ""
},

Extraction de données des flux LinkedIn

Surveillez les flux d'activité avec le linkedin-feed grattoir:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
à partir de base d'exploration importer API d'exploration
importer json

# Initialiser Crawlbase API avec votre jeton d'accès
crawling_api = API d'exploration({ 'jeton': 'VOTRE_API_TOKEN' })

URL = 'https://www.linkedin.com/feed/update/urn:li:activity:7022155503770251267'

choix = {
'grattoir': 'flux LinkedIn',
'asynchrone': 'vrai'
}

# Fonction pour faire une requête en utilisant Crawlbase API
def créer_une_requête_crawlbase(url):
réponse = crawling_api.get(url, options)
if réponse['code_d'état']== 200:
retourner json.loads(réponse['corps'].décoder('latin1'))
d'autre:
impression(« Échec de la récupération de la page. Code d'état : », réponse['code_d'état'])
retourner Aucun

def gratter_le_flux(url):
Essai:
json_response = make_crawlbase_request(url)
if json_response :
retourner json_response
sauf Exception as e:
impression(f"La demande a échoué : {e}")

retourner Aucun

if __nom__ == '__principale__':
scraped_data = scrape_feed(URL)
impression(json.dumps(données_grattées, indent=2))

Exemple de sortie :

1
2
3
{
"débarrasser": "977b3381ab11f938d6522775"
}

Récupération de données à partir de Crawlbase Cloud Storage

Comme pour le scraping de profils et de pages d'entreprise, les requêtes asynchrones renverront une rid. Vous pouvez utiliser ceci rid pour récupérer les données stockées.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
à partir de base d'exploration importer API de stockage
importer json

# Initialiser Crawlbase Cloud Storage avec votre jeton d'accès
stockage_api = StockageAPI({ 'jeton': 'VOTRE_API_TOKEN' })

DÉBRIS = 'votre_identifiant_de_demande'

# Fonction pour récupérer des données à partir de Crawlbase storage
def récupérer_des_données(débarrasser):
réponse = storage_api.get(rid)
if réponse['code_d'état']== 200:
retourner json.loads(réponse['corps'].décoder('latin1'))
d'autre:
impression(« Échec de la récupération des données. Code d'état : », réponse['code_d'état'])
retourner Aucun

if __nom__ == '__principale__':
données_récupérées = récupérer_données(RID)
impression(json.dumps(données récupérées, indent=2))

Ce script récupère et imprime les données de flux stockées à l'aide de rid.

Exemple de sortie :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
« flux »: [
{
"texte": « #AlphabetInc va supprimer 12,000 10,000 emplois, a déclaré son directeur général dans une note au personnel. Ces suppressions sont les dernières en date à secouer le secteur de la #technologie et surviennent quelques jours après que son rival Microsoft Corp a annoncé qu'il allait licencier 2 4 travailleurs. Rapport complet - https://lnkd.in/dfxXcXNUMXNXNUMX »,
"images": [
"https://media.licdn.com/dms/image/C4D22AQHvTzTp5mnMcg/feedshare-shrink_2048_1536/0/1674212335928?e=2147483647&v=beta&t=Aq3WKkxF1Q5ZwGB6ax6OOWRtCW7Vlz8KDdpBvvK4K_0"
],
"vidéos": [],
"date/heure": "1 an",
"postUrl": "https://in.linkedin.com/company/hindustantimes?trk=public_post_feed-actor-image",
"Nom d'utilisateur": « Hindustan Times »,
"réactionCount": 1177,
"commentairesCount": 13,
"links": [
{
"texte": « #AlphabetInc »,
"url": "https://www.linkedin.com/signup/cold-join?session_redirect=https%3A%2F%2Fwww.linkedin.com%2Ffeed%2Fhashtag%2Falphabetinc&trk=public_post-text"
},
{
"texte": "#technologie",
"url": "https://www.linkedin.com/signup/cold-join?session_redirect=https%3A%2F%2Fwww.linkedin.com%2Ffeed%2Fhashtag%2Ftechnology&trk=public_post-text"
},

Boostez vos objectifs de carrière avec Crawlbase

L'extraction de données LinkedIn peut fournir des informations précieuses pour diverses applications, de l'analyse du marché du travail à la recherche concurrentielle. Crawlbase Automatisez le processus de collecte de données LinkedIn, vous permettant ainsi de vous concentrer sur l'analyse et l'exploitation des informations. Crawlbaseest puissant Crawling API et Python, vous pouvez efficacement extraire les profils LinkedIn, les pages d'entreprise et les flux.

Si vous cherchez à étendre vos capacités de scraping Web, pensez à explorer nos guides suivants sur le scraping d'autres sites Web importants.

(I.e. Comment récupérer les offres d'emploi sur Indeed
(I.e. Comment récupérer des e-mails de LinkedIn
(I.e. Comment récupérer des crédits Airbnb
(I.e. Comment récupérer Realtor.com
(I.e. Comment récupérer des données Expedia

Si vous avez des questions ou des commentaires, notre équipe de soutien est toujours disponible pour vous aider dans votre parcours de scraping Web. Bon scraping !

Foire Aux Questions (FAQ)

Le scraping de LinkedIn est légal tant que vous ne violez pas les conditions d'utilisation de LinkedIn. Il est important de consulter les politiques de LinkedIn et de vous assurer que vos activités de scraping sont conformes aux directives légales et éthiques. Respectez toujours les lois sur la confidentialité et la protection des données et envisagez d'utiliser les API fournies officiellement lorsqu'elles sont disponibles.

Q. Comment scraper LinkedIn ?

Pour scraper LinkedIn, vous pouvez utiliser Crawlbase's Crawling API. Tout d’abord, configurez votre environnement Python et installez le Crawlbase Bibliothèque. Choisissez le scraper adapté à vos besoins (profil, entreprise ou flux) et effectuez des requêtes asynchrones pour collecter les données. Récupérez les données à l'aide de Crawlbase Cloud Storage, qui stocke la réponse pour un accès facile.

Q. Quels sont les défis liés au scraping de LinkedIn ?

Le scraping de données LinkedIn présente plusieurs défis. LinkedIn dispose de solides mesures anti-scraping qui peuvent bloquer vos activités. La nature dynamique du contenu LinkedIn rend difficile l'extraction cohérente des données. De plus, vous devez vous assurer du respect des normes légales et éthiques, car la violation des conditions d'utilisation de LinkedIn peut entraîner la suspension de votre compte ou des poursuites judiciaires. Utiliser un outil fiable comme Crawlbase peut aider à atténuer certains de ces défis en fournissant des capacités de scraping robustes et en adhérant aux meilleures pratiques.

Q. Quel est le meilleur outil d'extraction de données pour le recrutement ?

L'outil d'extraction de profils LinkedIn est idéal pour le recrutement, car il permet d'extraire des informations sur les candidats, notamment leur parcours professionnel, leurs compétences et leur formation. Combinez-le avec l'outil d'extraction d'entreprises pour identifier les employeurs potentiels.

Q. Puis-je extraire des données de plusieurs profils simultanément ?

Oui, utilisez des requêtes asynchrones pour extraire efficacement les données de plusieurs profils. Crawlbase prend en charge jusqu'à 20 requêtes par seconde, et le Storage API permet de récupérer tous les résultats en utilisant leurs identifiants de requête uniques (rid).