Linkedin : la nouvelle interface et le scrapp

Bonjour à tous.

Vous avez peut-être vue la nouvelle interface de Linkedin qui est déployée petit à petit et qui est sensée créer + de rétention. (feed à la facebook)
J’ai 4 profils linkedin et aucun n’a encore eu le droit à la mise à jour de l’interface. Pour moi tout marche encore aujourd’hui niveau scrapp.

Ma question est simple : Avez-vous des profils ayant eu Mise à jour Linkedin ? Est-ce que vous arrivez encore à scrapper sans soucis ?

La mise à jour m’est tombée dessus entre hier et aujourd’hui, en plein milieu d’un gros contrat client.

Comme il fallait s’y attendre, dès le moment où l’interface change, plus rien ne fonctionne. Je vais donc recoder le bot, et te dirait si ça re-fonctionne. Ou pas.

Hello @ScrapingExpert, tu as eu des résultats concluants sur la nouvelle interface depuis ces 4 semaines ? Merci :wink:

Hello @jessy,

Affirmatif, d’ailleurs je n’ai pas eu le choix, les interfaces de tous les comptes de mes clients sont passées sur la nouvelle version.

Sans parler du fait que j’ai dû créer des variantes pour les interfaces Recruiter et Navigator Sales.

Mais à mon avis, nous ne sommes pas à l’abris d’éventuels prochains changements aléatoires, si on considère qu’ils sont encore en phase d’AB testing.

2 « J'aime »

La nouvelle interface c’est du pain béni pour le scrapp :smiley: :smiley: 1000 fois mieux que l’ancienne :thumbsup:

3 « J'aime »

Sinon pour ceux qui ne souhaitent pas refaire leur script : modifiez l’user-agent et fakez l’utilisation d’internet Explorer 8 par exemple.

Bon scrap :wink:

Poke @ScrapingExpert

9 « J'aime »

Pour le coup, s’toi l’expert :wink:

C est moi ou on peut attrapper du JSON sur quasi chaque query sur la nouvelle interface ? ^^

3 « J'aime »

Exact :heart_eyes:

Par contre pour faire des recherches par prénom + nom en mode déconnecté et trouver des profils publiques, en passant directement depuis la home page et le formulaire de recherche, ou bien l’url [lkdin].com/pub/dir/{firstName}/{lastName}, impossible d’obtenir des résultats, j’obtiens sans cesse une redirection sur la page d’inscription.

Il semblerait qu’ils soient sur-protégés à ce stade pour les non-inscrits. On fait face à leur système de protection « Sentinel » et « Origin block », comme on peut le constater dans le paramètre tracker de la dernière url de redirection « trk=sentinel_org_block »:

  • [ Resource requested (url)] : https://www.linkedin.com/pub/dir/mathieu/lemaire?trk=uno-reg-guest-home-name-search
    [info] [phantom] Step _step 47/52: done in 31604ms.

  • [ Resource received ] : {« id »:39,« url »:« https://www.linkedin.com/pub/dir/mathieu/lemaire?trk=uno-reg-guest-home-name-search",« time »:« 2017-02-26T11:32:48.627Z »,« headers »:[{« name »:« Date »,« value »:"Sun, 26 Feb 2017 11:32:48 GMT »},{« name »:« X-Li-Pop »,« value »:« prod-ech2-h2 »},{« name »:« Content-Length »,« value »:« 1819 »},{« name »:« Content-Type »,« value »:« text/html »},{« name »:« X-Firefox-Spdy »,« value »:« h2 »}],« bodySize »:1819,« contentType »:« text/html »,« contentCharset »:"",« redirectURL »:null,« stage »:« end »,« status »:999,« statusText »:« No Reason Phrase »,« referrer »:« https://www.linkedin.com/",« body »:"\n<script type=« text/javascript »>\nwindow.onload = function() {\n // Parse the tracking code from cookies.\n var trk = « sentinel_org_block »;\n var trkInfo = « sentinel_org_block »;\n var cookies = document.cookie.split( »; « );\n for (var i = 0; i < cookies.length; ++i) {\n if ((cookies[i].indexOf(« trkCode= ») == 0) && (cookies[i].length > 8)) {\n trk = cookies[i].substring(8);\n }\n else if ((cookies[i].indexOf(« trkInfo= ») == 0) && (cookies[i].length > 8)) {\n trkInfo = cookies[i].substring(8);\n }\n }\n\n // Get the protocol for the redirect url.\n var protocol = « http: »;\n if (window.location.protocol == « https: ») {\n protocol = « https: »;\n } else {\n // If « sl » cookie is set, redirect to https.\n for (var i = 0; i < cookies.length; ++i) {\n if ((cookies[i].indexOf(« sl= ») == 0) && (cookies[i].length > 3)) {\n window.location.href = « https: » + window.location.href.substring(window.location.protocol.length);\n return;\n }\n }\n }\n\n // Get the new domain. For touch.www.linkedin.com or tablet.www.linkedin.com\n // we strip « touch. » and « tablet. ». For international domains such as\n // fr.linkedin.com, we convert it to www.linkedin.com\n var domain = location.host;\n if (domain.substr(0, 6) == « touch. ») {\n domain = domain.substr(6);\n } else if (domain.substr(0, 7) == « tablet. ») {\n domain = domain.substr(7);\n } else if (domain.charAt(2) == « . ») {\n domain = « www » + domain.substr(2);\n }\n \n window.location.href = « https:// » + domain + « /uas/login?trk= » + trk + « &trkInfo= » + trkInfo + « &session_redirect= » +\n encodeURIComponent(protocol + « // » + domain +\n window.location.href.substr(window.location.href.search(window.location.host) +\n window.location.host.length));\n}\n\n\n »}

  • [ Resource requested (url)] : https://www.linkedin.com/uas/login?trk=sentinel_org_block&trkInfo=sentinel_org_block&session_redirect=https%3A%2F%2Fwww.linkedin.com%2Fpub%2Fdir%2Fmathieu%2Flemaire%3Ftrk%3Duno-reg-guest-home-name-search

Même en passant par des proxies 100% dédiés, en passant par la toute 1ère page (lkdin.com), en automatisant le remplissage du formulaire first name + last name, et donc en fakant le referer, bloqué quoi qu’il en soit…

Certains d’entre vous y parviennent malgré tout?

C’est exactement ça. Ils auraient pu nous filer une API ouverte, c’était pareil.

C’est bloqué de chez bloqué. Tu peux brancher Google Search Engine et faire pas mal de trucs. Sinon tu créés un faux compte - tu stockes les cookies et après tu as ton API :wink:

Bonjour à tous,

Mon script développé en PHP ne fonctionne plus :frowning:
Mon dev me dit :

ils ont changé complètement leur api, et l’ancienne ne retourne plus rien.
Ils utilisent aussi maintenant un CSRF donc il va me falloir déjà du temps rien que pour comprendre comment cet identifiant est généré

Avez vous une idée ou une solution ?

Merci pour votre aide

Francois

1 « J'aime »

C’est notre pain quotidien ça :slight_smile: !

1 « J'aime »

C est pas facile la vie de scrapper pro ^^. Treve de plaisanterie c est plus simple maintenant qu’ avant… PS: @Francois_K j espere que tu as pu scraper au delà des 1000000 que je t ai filé…desole pas eu le temps de revenir vers toi ma vie de famille a révolutionné mon emploi du temps …++

1 « J'aime »

Leur API ne marche plus depuis… longtemps.

Bonjour Karni,

J’espère que tu arrive a trouver le temps de dormir entre les cris :slight_smile:
Je n’ai pas eu encore le temps de scraper juste toutes les entreprises car je fais bosser mon dev sur un programme avec césure ‹ ‹ automatique › › pour scraper par bloc de 1000 fiches des contacts + leur entreprise afin d’en générer les mails
Nous avons du tout refaire avec la nouvelle interface, mais bon, c’est la vie
J’espère que tu auras le temps de papoter un petit peu

1 « J'aime »

Technique testée, mais totalement obsolète et non fonctionnelle.

Pour cause, dès qu’un browser est détecté, et qualifié de vieux browser, on a une super page nous invitant à passer sur un navigateur récent.

Ils bloquent donc l’accès au site si le browser n’est pas d’actu.

1 « J'aime »

Depuis quelques jours seulement

1 « J'aime »

Perso tu m as fait gagner 1 precieuse semaine le temps que je modifie les templates LKD pour tout le monde , encore merci à toi meme si c est cramé maintenant.

1 « J'aime »