LinkedIn-en halako muga bat dago - Erabilera komertzialaren muga. Izugarri litekeena da zuk, ni bezala duela gutxi arte, inoiz topatu edo entzun ez izana.
Mugaren funtsa zera da: zure kontaktuetatik kanpo dauden pertsonen bilaketa sarriegi erabiltzen baduzu (ez dago neurketa zehatzik, algoritmoak zure ekintzen arabera erabakitzen du - zenbat eta zenbat bilatu duzun, jendea gehitu), orduan bilaketaren emaitza. hiru profiletara mugatuko da, 1000 izan beharrean (lehenetsita 100 orrialde, 10 profil orrialde bakoitzeko). Muga hilabete bakoitzaren hasieran berrezartzen da. Berez, premium kontuek ez dute muga hori.
Baina duela ez asko, maskota proiektu baterako, asko jolasten hasi nintzen LinkedIn bilaketarekin eta bat-batean muga hori lortu nuen. Berez, hau ez zitzaidan asko gustatu, ez bainuen helburu komertzialetarako erabiltzen, beraz, nire lehen pentsamendua izan zen muga aztertzea eta inguratzen saiatzea.
[Argibide garrantzitsu bat: artikuluko materialak informazio- eta hezkuntza-helburuetarako soilik aurkezten dira. Egileak ez du helburu komertzialetarako erabiltzea bultzatzen.]
Arazoa aztertzen ari gara
Hona hemen: orrialdea duten hamar profilen ordez, bilaketak hiru baino ez ditu itzultzen, eta ondoren premium kontu baten βgomendioaβ duen bloke bat txertatzen da eta azpian profil lausoak eta klik ezin daitezkeenak daude.
Berehala, eskua garatzaileen kontsolara heltzen da ezkutuko profil hauek ikusteko - agian lausotze-estilo batzuk kendu ditzakegu, edo markako bloke batetik informazioa atera dezakegu. Baina, nahiko espero da, profil hauek besterik ez dira leku-markaren irudiak eta ez da informaziorik gordetzen.
Ados, ikus dezagun Sarea fitxan eta egiaztatu dezagun hiru profil soilik itzultzen dituzten bilaketa-emaitz alternatiboek benetan funtzionatzen duten. β/api/search/blendedβ-rako interesatzen zaigun eskaera aurkitzen dugu eta erantzuna ikusten dugu.
Profilak `included` array batean datoz, baina dagoeneko 15 entitate daude bertan. Kasu honetan, lehenengo hirurak informazio gehigarria duten objektuak dira, objektu bakoitzak profil zehatz bati buruzko informazioa dauka (adibidez, profila premium den ala ez). ).
Hurrengo 12ak benetako profilak dira - bilaketa-emaitzak, horietatik hiru bakarrik erakutsiko zaizkigu. Dagoeneko igarri dezakezun bezala, informazio gehigarria jasotzen dutenak (lehen hiru objektuak) bakarrik erakusten ditu. Esate baterako, erantzuna mugarik gabeko profil batetik hartzen baduzu, 28 entitate jasoko dituzu - 10 objektu osagarriekin. informazioa eta 18 profil.
Profilaren erantzuna mugarik gabe
Zergatik iristen diren 10 profil baino gehiago, nahiz eta zehazki 10 eskatzen diren, eta ez dute inola ere pantailan parte hartzen, hurrengo orrian ere ez dira egongo - oraindik ez dakit. Eskaeraren URLa aztertzen baduzu, zenbatzea=10 ikus dezakezu (erantzunean zenbat profil itzuli behar diren, 49 gehienez).
Pozik jasoko nuke gai honi buruzko iruzkinak.
Egin dezagun esperimentua
Ados, orain ziur dakigun gauzarik garrantzitsuena da erantzunean erakusten diguten baino profil gehiago daudela. Horrek esan nahi du datu gehiago lor ditzakegula, muga izan arren. Saia gaitezen APIa geuk ateratzen, zuzenean kontsolatik, fetch erabiliz.
Espero bezala, errore bat jasoko dugu, 403. Hau segurtasunagatik da, hemen ez dugu CSRF token bat bidaltzen (CSRF Wikipedian. Laburbilduz, eskaera bakoitzari token bakarra gehitzen zaio, zerbitzarian egiazkotasuna egiaztatzen dena).
Beste edozein eskaera arrakastatsutik edo cookieetatik kopia daiteke, non 'JSESSIONID' eremuan gordetzen den.
Non aurkitu tokenaBeste eskaera baten goiburua:
Edo cookieetatik, zuzenean kontsolaren bidez:
Saia gaitezen berriro, oraingoan eskuratzeko ezarpenak pasatzen ditugu, eta bertan gure csrf-tokena parametro gisa zehazten dugu goiburuan.
Arrakasta, 10 profil guztiak jasotzen ditugu. :tada:
Goiburuen desberdintasuna dela eta, erantzunaren egitura apur bat desberdina da jatorrizko eskaeran jasotakoaren aldean. Egitura bera lor dezakezu 'Onartu: 'application/vnd.linkedin.normalized+json+2.1' gehitzen baduzu gure objektuari, csrf tokenaren ondoan. Erantzun adibidea goiburua gehituta
Ondoren, `hasi` parametroa editatu dezakezu (eskuz edo automatizatu), indizea seinalatuz, eta bertatik 10 profil (lehenetsia = 0) emango zaizkigu bilaketaren emaitza osotik. Beste era batera esanda, eskaera bakoitzaren ondoren 10 handituz gero, orrialdez orrialdeko ohiko irteera lortzen dugu, aldi berean 10 profil.
Fase honetan datu eta askatasun nahikoa nuen maskota proiektuan lanean jarraitzeko. Baina bekatua izango zen datu hauek lekuan bertan bistaratzen ez saiatzea, jada eskura baitzegoen. Ez gara sartuko frontoian erabiltzen den Emberra. jQuery gunera konektatuta zegoen, eta oinarrizko sintaxiaren ezagutza memorian zulatu ondoren, minutu pare batean honako hau sor dezakezu.
Bilaketa-orriko kontsolan zuzenean egiten baduzu, klik bakoitzean 10 profil berri kargatzen dituen botoi bat gehituko du eta zerrenda batean errendatzen ditu. Jakina, aldatu tokena eta URLa behar denaren arabera hau egin aurretik. Profil-blokeak izena, posizioa, kokapena, profilaren esteka eta leku-markaren irudia izango ditu.
Ondorioa
Horrela, gutxieneko esfortzuarekin, puntu ahula aurkitu eta mugarik gabe bilaketa berreskuratu ahal izan genuen. Nahikoa izan zen datuak eta bere bidea aztertzea, eskaera bera aztertzea.
Ezin dut esan LinkedInrentzat arazo larria denik, ez duelako mehatxurik sortzen. Gehienezko irabazia galtzen da "konponbideen" ondorioz, eta horrek prima ordaintzea saihesteko aukera ematen du. Beharbada, zerbitzariaren erantzuna beharrezkoa da gunearen beste atalen funtzionamendu zuzena izateko, edo garatzaileen alferkeria eta baliabide eza da ondo egiten uzten ez duena. (Muga 2015eko urtarrilean agertu zen; honen aurretik ez zegoen mugarik).
PS
Jakina, jQuery kodea gaitasunen adibide primitiboa da. Momentuz arakatzaile-luzapena sortu dut nire beharretara egokitzeko. Kontrol-botoiak gehitzen ditu eta profil osoak errendatzen ditu argazkiekin, gonbidapen-botoi batekin eta konexio orokorrekin. Gainera, kokapen, enpresen eta beste gauza batzuen iragazkiak modu dinamikoan biltzen ditu eta cookieetatik token bat lortzen du. Beraz, ez dago ezer gogor kodetu beharrik. Beno, ezarpen-eremu gehigarriak gehitzen ditu, adibidez, "zenbat profil eskatu aldi berean, 49 arte".
Gehigarri honetan lanean nabil oraindik eta jendaurrera kaleratzeko asmoa dut. Interesatzen bazaizu idatzi.