Įvadas
Kiekviena užblokuota užklausa - tai daugiau nei trikdis, tai tylus procesoriaus laiko, pralaidumo ir analitikų dėmesio nurašymas. Patyrę inžinieriai, prieš didindami bet kokį naršyklės modelį, pradeda nuo skaičių, o ne nuo anekdotų. Dabar žiniatinklyje yra daugybė nuo robotų apsaugančių vielų: "Cloudflare" mokymosi centre apskaičiuota, kad "daugiau kaip 40 % viso interneto srauto sudaro botų srautas", kurio didžioji dalis yra kenkėjiška. Norėdamas išlikti pelningas, skreperis turi paversti šią priešišką statistiką nuspėjama eilute, kurią būtų galima modeliuoti, sumažinti ir įtraukti į biudžetą.
Toliau pateikiame keturis duomenimis pagrįstus patikrinimo punktus, kurie padeda įveikti triukšmą, ir baigiame viena pamoka, iš kurios galima pasimokyti. Bendra apimtis: ~710 žodžių.
1 Paslėptas nesėkmės mokestis: 40 % botų ≠ 40 % blogų veikėjų
Kai beveik pusė viešus galinius taškus pasiekiančių paketų priskiriami automatiniams, kilmės svetainės reaguoja į tai didindamos gynybą "JavaScript" iššūkiais, elgsenos vertinimu ir tinklo lygmens ribojimu. Kiekviena papildoma apykaita arba CAPTCHA padidina išmatuojamą uždelsimą. Praėjusį ketvirt į atlikus našumo lyginamuosius testus, vienas priverstinis pakartotinis bandymas pailgino vidutinį nuskaitymo laiką 38 % (10URL pavyzdys). Padauginkite tai iš milijonų URL adresų ir "nesėkmės mokestis" bus didesnis už techninės įrangos sąnaudas. Į kiekvieną GET žiūrėkite kaip į tikėtiną įvykį, o ne kaip į garantiją. "Cloudflare" 40 proc. metrika yra pradinis šios lygties koeficientas, o ne išnaša.
2 Sėkmės rodiklio ekonomika: gyvenamųjų namų baseinai atsiperka patys
Tyrimų metu užfiksuota 99,82 % sėkmingų užklausų ir 0,41 s atsako mediana tam tikrame gyvenamųjų namų tinkle, palyginti su 98,96 % artimiausio konkurento tinkle. Popieriuje šis skirtumas atrodo nedidelis; praktikoje sėkmės padidėjimas vienu punktu reiškia dešimt tūkstančių papildomų puslapių per milijoną be pakartotinio išsiuntimo pridėtinių išlaidų. Esant tokiam mastui, ši marža kompensuoja didesnį vieno GB duomenų srautą, tenkantį gyventojams. Skaičiavimai nesudėtingi:
Papildomi puslapiai = (sėkmė_res - sėkmė_alt) × bendras užklausų skaičius
Prieš paskelbdami bet kurį tarpininką "per brangiu", įrašykite į šią formulę savo apimtis. Ir nepamirškite: transporto sluoksnio tuneliavimas per SOCKS protokolą leidžia tuo pačiu autentifikuotu kanalu perduoti ir TCP, ir UDP, kai jūsų naršyklė naudoja "Selenium" ir neapdorotų lizdų zondus.
3 Pirštų atspaudų entropija: jūsų vartotojo agentas vis dar jus išduoda
"Electronic Frontier Foundation" atliktame tyrime "Panopticlick" išmatuota 18,1 bito entropijos tipinės naršyklės pirštų atspauduose, kurios pakanka, kad būtų galima išskirti vieną naršyklę iš 286 777. Tarp naršyklių su "Flash" arba "Java" 94,2 % buvo unikalios. Skreperiams tai reiškia, kad vien IP adresų keitimas yra kosmetinis dalykas; "Chrome" be galvų su numatytaisiais nustatymais apšvies bet kurį įrenginį profiliuojantį radarą. Norint iš tikrųjų sušvelninti poveikį, reikia atsitiktinai parinkti antraštes, slopinti šriftus ir suklastoti laiko zoną, taip pat sukeisti IP adresus. Į pirštų atspaudų variaciją žiūrėkite kaip į proxy-pool entropijos biudžeto dalį.
4 Sukimo dažnumas ir klaidingi teigiami rezultatai: siekite 0,01 proc.
Net ir tobulus tarpinius serverius gali suklaidinti pernelyg uolūs botų valdytojai. "DataDome" praneša, kad dėl milisekundžių lygio įrenginių patikrinimų klaidingų teigiamų rezultatų rodiklis yra mažesnis nei 0,01 % milijardų užklausų. Tai yra praktinis kriterijus: jei jūsų skreperio teisėtos užklausos blokuojamos dažniau nei viena iš dešimties tūkstančių, tai reiškia, kad jūs negaunate pajamų. Jei viršijamas "blokavimo biudžetas", įspėkite savo vamzdyną apie jo viršijimą, sumažinkite arba pakeiskite išėjimo mazgą, kol tikslinis domenas neįtraukė viso potinklio į juoduosius sąrašus.
Pagrindinė pamoka
Tarpinio serverio pasirinkimas nebėra susijęs su neapdorotų IP skaičiumi, tai rizikos aritmetikos pratimas. Sujunkite (a) empirinius botų srauto rodiklius, (b) patikrintas sėkmės rodiklių lenteles, © pirštų atspaudų entropijos rodiklius ir (d) klaidingų teigiamų rezultatų viršutines ribas į vieną nuostolių funkciją, tada optimizuokite. Komandos, kurios kiekybiškai įvertina kiekvieną kintamąjį, siunčia roverius, kurie ir toliau skrebuoja, net jei žiniatinklyje kasami vis gilesni grioviai.