Scraper tous les profils Linkedin


#1

Hello les amis,

J’aimerais scraper tous les profils sur Sales Navigator, pour l’industrie Automobile (par exemple).

Il y a 225 576 résultats, mais Linkedin impose 2 limites :

  • pas plus de 1000 requêtes par jour
  • pas plus de 1000 profils affichés par requête

J’ai essayé de segmenter par code postal, mais il y a 39,000 codes postaux en France, avec un compte Sales Nav il me faudrait 39 jours simplement connaître le nombre de profils d’Industrie Automobile par code postal.

Comment est-ce que vous procèderiez ? :thinking:


#2

Perso je commencerais plutot par les prenoms FR par ordre decroissant de popularite en tenant compte de la nature de l industrie pour le genre des prenoms, du coup plutot masculin pour l automobile, ensuite tu peux faire la meme avec les noms patronimiques par ordre decroissant de popularite et enfin les villes par ordre decroissant de population.sachant que tu ne couperas pas a la loi de paretto, en gros 20% de tes queries vont generer 80 % des datas finales en raison des doublons que tu auras au fur et a mesure.En clair plus le temps va passer plus tu as de chance d avoir des doublons dans tes scraps.


#3

Merci karni !

J’ai téléchargé la liste des noms ici (https://www.data.gouv.fr/fr/datasets/liste-de-prenoms/), et je les ai mis dans une db, et on a…

  • 32 703 prénoms
  • 15 890 prénoms masculins

Si on prend 20%, ça fait 6000 requêtes, soit 6 jours pour avoir l’ensemble (homme + femme).

Le problème, c’est que même comme ça, ça sort plus de 1000 résultats :

Le premier a avoir moins de 1000 résultats, c’est PAUL, soit le 13e prénom de la liste, ceci dit…
Donc 12 prénoms à resegmenter par région ensuite…

Qu’en penses-tu ? :thinking:


#4

Peut-être par région, mais j’ai l’impression qu’il y a une déperdition de 65,000 profils, 35%…


#5

Pareil pour les années d’expérience…


#6

C’est étrange cette perte de results avec les filtres.Dans ce cas peut être en passant par les booléens, après j’ai pas testé sur une succession massive de NOT (je connais pas la limite de Linkedin la dessus), mais peut être qu’un angle quand tu fais une recherche pourrait etre si nombre de résultats >1000 ->tu scrapes les 1000 premiers , ensuite 2 eme query ->avec succession de NOT (exemple:NOT “Paul Picard” NOT “Paul PASCAUD”… ) avec les profils déjà scrapes et ainsi de suite.Je doute qu’on puisse passer autant de parametres mais si c’est possible ça règle le problème de limitation.


#7

Tu passes où les NOT ?


#8

dans le champ “mots clés” classique


#9

Le secteur ce n’est pas une information fiable. Car il se base sur le secteur de l’entreprise et non sur le job de la personne (ex : cuisinier chez Google, le gars sera référencé sur le secteur “internet”)

Moi je passerais plutôt via le job title, et la tu n’as plus de limite, car tu peux scraper via Google.


#10

Mmm après si le mec est cuisinier chez Renault, je suis ok s’il est référencé dans Automotive, mais pas mal le tips avec Google…

Tu mets quoi comme requête dans Google par exemple ? :thinking:


#11

Tu as besoin de tous les mecs du domaine ? Peu importe le jobtitle ?
La perte de résultats peut s’expliquer par le fait que les profils n’aient pas toutes les infos (surtout les infos utilisées dans les filtres).
Sinon pour la recherche voici l’info: Acceder à toutes les pages de recherche Google


#12

site:fr.linkedin.com/in technicien AND automobile

par ex.


#13

Très intéressant, après je sais que Google Captcha assez vite sur les Regex… vous avez déjà géré ça à grande échelle ?

Par ailleurs, est-ce qu’il y a une limite de taille de requête sur Google ? Si on supprime progressivement les URLs déjà scrapés, sur 250k profiles… :thinking:


#14

Perso je commencerais plutot par les prenoms FR par ordre decroissant de popularite en tenant compte de la nature de l industrie pour le genre des prenoms, du coup plutot masculin pour l automobile, ensuite tu peux faire la meme avec les noms patronimiques par ordre decroissant de popularite et enfin les villes par ordre decroissant de population.sachant que tu ne couperas pas a la loi de paretto, en gros 20% de tes queries vont generer 80 % des datas finales en raison des doublons que tu auras au fur et a mesure.En clair plus le temps va passer plus tu as de chance d avoir des doublons dans tes scraps.

J’ai regardé le nombre de résultats par prénom, à partir du site de data-gouv, par ordre de popularité, là le graphique :

Au total, sur 1 131 prénoms, 13 611 résultats, soit 6% du total. Le plus gros prénom c’est Jean avec 533 résultats.

Avec 1000 requêtes par jour pas compte Sales Nav, je pense pas que le split par prénom soit viable…


#15

Je pense qu’il y a un problème dans tes stats, quand je fais une recherche localisation “France” + secteur “Industrie Automobile”, je prends les 3 premier prénoms qui me viennent en tête : Paul , Didier, Romain et ils sont déjà tous les 3 au dessus de 1000 résultats sur Linkedin…A noter que quand je parle de popularité des prénoms dans l’ordre décroissant, il faut évidemment tenir compte de l’age moyen des gens en poste dans l’industrie, du coup mieux vaux éviter un fichier trop récent ( 30 ans d’ancienneté semble pas mal)


#16

Effectivement, my bad, j’avais sélectionné la Région de Lyon, France…

Du coup, j’ai refait le split avec la France, on a, sur un total de 225 576 résultats, avec 1000 prénoms masculins… 194 407 résultats affichés, soit une belle perf de 86% de profils affichés.

Seulement, sur ses résultats disponibles, 56 prénoms offrent plus de 1000 résultats, inaccessibles donc, pour un total de 51 668 nouveaux résultats.

Au total, on peut donc collecter 142 739 résultats (sans resplit), soit 56% de l’ensemble, franchement pas mal…!


#17

On ne peut pas aller au dessus de 2000 caractères par URL, malheureusement…


#18

Non, mais moi je parlais en plusieurs requête. De toute façon, tu es limité à 300 résultats par requête.


#19

J’avais le meme soucis que toi sous Sales Navigator. Alors un jour, j’ai essayé “Recruiter” de Linkedin.
Et l’interface est beaucoup plus complete car tu peux EXCLURE des données/filtres, ce que tu ne peux pas faire via Sales Nav.

Par exemple : ma cible sont les “ressources humaines” et je peux te dire qu’il y a des tonnes de profils.

Ce que je fais concretement :

Job Title : Directeur ressources humaines -> Puis je scrape si résultat inférieur à 1000. Ensuite je fais Directrice ressources humaines NOT Directeur -> Puis je scrape si résultat inférieur à 1000 etc etc …

Quand le resultat est supérieur à 1000, il faut alors que je split via les filtres :

Etape 1 :
Job Title : Directeur ressources humaines -> Si résultat sup à 1000 -> Filtre Industrie : Internet inclus -> Puis je scrape si résultat inférieur à 1000.
Etape 2 :
Job Title : Directeur ressources humaines -> Filtre Industrie : Internet EXCLUE + Automobile inclus -> Puis je scrape si résultat inférieur à 1000.
Etape 3:
Job Title : Directeur ressources humaines -> Filtre Industrie : Internet EXCLUE + Automobile EXCLUE + Banque inclus -> Puis je scrape si résultat inférieur à 1000.
Etc etc


#20

Pour infos la limite Google qui ne te donne que 300 résultats est contournable par l’utilisation de Bing. Il semble que Microsoft n’impose pas de limitation à son outil de recherche vis à vis de linkedin.


Team : CamilleBriceJulienVivianBorisXavierSteven.