ProHoster > ΠΠ»ΠΎΠ³ > Pagdumala > Paglapas sa limitasyon sa pagpangita sa LinkedIn pinaagi sa pagdula sa API
Paglapas sa limitasyon sa pagpangita sa LinkedIn pinaagi sa pagdula sa API
Utlanan
Adunay ingon nga limitasyon sa LinkedIn - Limitado sa komersyal nga paggamit. Lagmit kaayo nga ikaw, sama kanako hangtod karon, wala pa makasugat o nakadungog bahin niini.
Ang esensya sa limitasyon mao nga kung kanunay nimo gigamit ang pagpangita alang sa mga tawo sa gawas sa imong mga kontak (walay eksaktong sukatan, ang algorithm nagdesisyon base sa imong mga aksyon - kung unsa ka sagad ug kung unsa ka daghan ang imong gipangita, gidugang ang mga tawo), unya ang resulta sa pagpangita limitado sa tulo ka mga profile, imbes nga 1000 (default 100 ka panid, 10 ka profile matag panid). Ang limitasyon gi-reset sa sinugdanan sa matag bulan. Natural, Ang mga premium nga account wala niini nga limitasyon.
Apan dili pa lang dugay, alang sa usa ka proyekto sa binuhi, nagsugod ako sa pagdula og daghan sa pagpangita sa LinkedIn ug kalit nga nakuha kini nga limitasyon. Siyempre, dili kaayo ko ganahan niini, tungod kay wala ko kini gigamit alang sa bisan unsang komersyal nga katuyoan, mao nga ang una nakong gihunahuna mao ang pagtuon sa limitasyon ug pagsulay sa paglibot niini.
[Usa ka importante nga pagpatin-aw: ang mga materyales sa artikulo gipresentar lamang alang sa mga katuyoan sa impormasyon ug edukasyon. Ang tagsulat wala mag-awhag sa ilang paggamit alang sa komersyal nga katuyoan.]
Among gitun-an ang problema
Kami adunay: imbes nga napulo ka mga profile nga adunay pagination, ang pagpangita nagbalik lamang sa tulo, pagkahuman ang usa ka bloke nga adunay "rekomendasyon" sa usa ka premium nga account gisal-ut ug sa ubos ang mga hanap ug dili ma-klik nga mga profile.
Diha-diha dayon, ang kamot nakaabot sa developer console aron tan-awon kining mga tinago nga mga profile - tingali mahimo natong tangtangon ang pipila ka mga blurring nga mga estilo, o pagkuha sa impormasyon gikan sa usa ka block sa markup. Apan, gilauman nga, kini nga mga profile yano ra mga hulagway sa placeholder ug walay impormasyon nga gitipigan.
Okay, karon atong tan-awon ang Network tab ug susihon kung ang alternatibong mga resulta sa pagpangita nga nagbalik lamang sa tulo ka mga profile tinuod nga nagtrabaho. Among nakit-an ang hangyo nga kami interesado alang sa "/api/search/blended" ug tan-awa ang tubag.
Ang mga profile moabut sa usa ka array nga `kalakip`, apan adunay na 15 nga mga entidad sa kini nga kaso, ang una nga tulo niini mga butang nga adunay dugang nga kasayuran, ang matag butang adunay kasayuran sa usa ka piho nga profile (pananglitan, kung ang profile premium. ).
Ang sunod nga 12 tinuod nga mga profile - mga resulta sa pagpangita, diin tulo ra ang ipakita kanamo. Sama sa imong natag-an, kini nagpakita lamang niadtong nakadawat og dugang nga impormasyon (ang unang tulo ka mga butang). Pananglitan, kung gikuha nimo ang tubag gikan sa usa ka profile nga walaβy limitasyon, makadawat ka 28 nga entidad - 10 nga mga butang nga adunay dugang. impormasyon ug 18 ka profile.
Tubag alang sa profile nga walay limitasyon
Ngano nga labaw pa sa 10 nga mga profile ang moabut, bisan kung eksakto nga 10 ang gihangyo, ug wala sila moapil sa pagpakita sa bisan unsang paagi, bisan sa sunod nga panid dili sila - wala pa ako nahibal-an. Kung imong analisahon ang URL sa hangyo, imong makita kana nga ihap=10 (pila ka mga profile ang ibalik sa tubag, labing kadaghan nga 49).
Malipay ako nga makadawat bisan unsang mga komento bahin niini nga butang.
Mag-eksperimento ta
Okay, ang labing hinungdanon nga butang nga nahibal-an na namon karon mao nga adunay daghang mga profile sa tubag kaysa gipakita nila kanamo. Kini nagpasabut nga makakuha kami daghang datos, bisan pa sa limitasyon. Atong sulayan nga ibira ang API sa atong kaugalingon, direkta gikan sa console, gamit ang fetch.
Sama sa gipaabut, nakakuha kami usa ka sayup, 403. Kini tungod sa seguridad, dinhi wala kami magpadala usa ka token sa CSRF (CSRF sa Wikipedia. Sa laktod nga pagkasulti, usa ka talagsaon nga timaan ang gidugang sa matag hangyo, nga gisusi sa server alang sa pagkatinuod).
Mahimo kining kopyahon gikan sa bisan unsa nga malampuson nga hangyo o gikan sa cookies, diin kini gitipigan sa 'JSESSIONID' field.
Asa makit-an ang tokenUlohan sa laing hangyo:
O gikan sa cookies, direkta pinaagi sa console:
Atong sulayan pag-usab, niining higayona atong ipasa ang mga setting aron makuha, diin atong ipiho ang atong csrf-token isip parameter sa header.
Kalampusan, nadawat namo ang tanang 10 ka profile. :tada:
Tungod sa kalainan sa mga ulohan, ang istruktura sa tubag gamay nga lahi sa nadawat sa orihinal nga hangyo. Makuha nimo ang parehas nga istruktura kung imong idugang ang 'Accept: 'application/vnd.linkedin.normalized+json+2.1' sa among butang, sunod sa csrf token. Pananglitan nga tubag nga adunay dugang nga ulohan
Unya mahimo nimong usbon (manual o awtomatiko) ang parameter nga `pagsugod`, nga nagpunting sa indeks, sugod diin hatagan kami og 10 ka mga profile (default = 0) gikan sa tibuuk nga resulta sa pagpangita. Sa laing pagkasulti, pinaagi sa pagdugang niini sa 10 pagkahuman sa matag hangyo, makuha namon ang naandan nga panid-sa-panid nga output, 10 nga mga profile matag higayon.
Niini nga yugto ako adunay igo nga datos ug kagawasan sa pagpadayon sa pagtrabaho sa proyekto sa binuhi. Apan kini usa ka sala nga dili mosulay sa pagpakita niini nga datos diha-diha dayon, tungod kay kini anaa na. Dili kami moadto sa Ember, nga gigamit sa atubangan. Ang jQuery konektado sa site, ug sa pagkalot sa kahibalo sa batakang syntax sa memorya, mahimo nimong buhaton ang mosunod sa pipila ka minuto.
Kung buhaton nimo kini direkta sa console sa panid sa pagpangita, magdugang kini usa ka buton nga nag-load sa 10 ka bag-ong mga profile sa matag pag-klik ug i-render kini sa usa ka lista. Siyempre, usba ang token ug URL sa gikinahanglan sa dili pa kini buhaton. Ang profile block maglangkob sa ngalan, posisyon, lokasyon, link sa profile ug usa ka imahe sa placeholder.
konklusyon
Sa ingon, uban ang labing gamay nga paningkamot, nakit-an namon ang huyang nga lugar ug nabawi ang among pagpangita nga walaβy mga pagdili. Igo na ang pag-analisar sa datos ug ang agianan niini, tan-awa ang hangyo mismo.
Dili ko makaingon nga kini usa ka seryoso nga problema alang sa LinkedIn, tungod kay wala kini hulga. Ang labing taas nga nawala nga ganansya tungod sa ingon nga "mga workaround", nga nagtugot kanimo sa paglikay sa pagbayad alang sa premium. Tingali ang ingon nga tubag gikan sa server gikinahanglan alang sa husto nga operasyon sa ubang mga bahin sa site, o kini yano nga pagkatapulan sa mga nag-develop ug usa ka kakulang sa mga kahinguhaan nga wala magtugot nga kini mahimoβg maayo. (Ang pagdili nagpakita sa Enero 2015; sa wala pa kini walay limitasyon).
PS
Natural, ang jQuery code kay usa ka primitive nga pananglitan sa mga kapabilidad. Sa pagkakaron nakamugna ko og extension sa browser nga mohaum sa akong mga panginahanglan. Nagdugang kini og mga buton sa pagkontrol ug naghatag og bug-os nga mga profile nga adunay mga hulagway, usa ka buton sa imbitasyon ug mga kinatibuk-ang koneksyon. Dugang pa, kini dinamikong nagkolekta sa mga pagsala alang sa mga lokasyon, kompanya, ug uban pang mga butang, ug nagkuha usa ka token gikan sa cookies. Mao nga dili na kinahanglan nga mag-hardcode bisan unsa. Aw, kini nagdugang dugang nga mga natad sa mga setting, usa ka "pila ka mga profile ang hangyoon sa usa ka higayon, hangtod sa 49."
Nagtrabaho pa ako niini nga pagdugang ug nagplano nga ipagawas kini sa publiko. Isulat kung interesado ka.