Въведение
Всяка блокирана заявка е нещо повече от затруднение - тя е тиха загуба на процесорно време, честотна лента и внимание на анализаторите. Преди да увеличат мащаба на всеки обхождащ компютър, опитните инженери започват с числата, а не с анекдотите. Мрежата вече е осеяна с предпазни жици срещу ботове: В учебния център на Cloudflare се изчислява, че "над 40 % от целия интернет трафик е трафик на ботове", голяма част от който е злонамерен. За да остане печеливш, един скрепер трябва да превърне тази враждебна статистика в предвидима позиция, която може да се моделира, сме кчава и бюджетира.
По-долу пресичаме шумотевицата с четири контролни точки, базирани на данни, и завършваме с един-единствен урок за вкъщи. Общ обем: ~710 думи.
1 Скритият данък за провал: 40 % ботове ≠ 40 % лоши участници
Когато почти половината от пакетите, попадащи в публични крайни точки, се класифицират като автоматизирани, сайтовете за произход реагират с ескалиращи защити JavaScript предизвикателства, поведенчески оценки и дроселиране на мрежово ниво. Всяко допълнително преминаване по кръга или CAPTCHA добавя измеримо закъснение. В сравнителните тестове за производителност, които проведох през последното тримесечие, един принудителен повторен опит увеличи средното време за остъргване с 38 % при извадка от 10 URL. Ако умножите това по милиони URL адреси, "данъкът за неуспех" ще надхвърли разходите за хардуер. Отнасяйте се към всеки GET като към вероятностно събитие, а не като към гаранция. 40-процентната метрика на Cloudflare е началният коефициент в това уравнение, а не бележка под линия.
2 Икономика на успеваемостта: жилищните басейни се изплащат сами
Изследването отчет е 99,82 % успешни заявки и 0,41 s медиана на отговора за някаква жилищна мрежа, в сравнение с 98,96 % за най-близкия конкурент. На хартия разликата изглежда малка; на практика скокът от един пункт в успеха означава десет хиляди допълнителни страници на милион без режийни разходи за повторно подреждане. В мащаба този марж компенсира по-високата цена на GB трафик за домашни потребители. Изчислението е просто:
extra_pages = (success_res - success_alt) × total_requests
Включете собствените си обеми в тази формула, преди да обявите някое пълномощно за "твърде скъпо". И не забравяйте: тунелирането на транспортното ниво чрез протокола SOCKS ви позволява да прекарвате TCP и UDP през един и същ удостоверен канал, което е удобно, когато вашият обхождащ софтуер смесва Selenium със сонди с необработени сокети.
3 Ентропия на пръстовите отпечатъци: вашият User-Agent все още ви издава
Проучването Panopticlick на Electronic Frontier Foundation измери 18,1 бита ентропия в типичен пръстов отпечатък на браузър, което е достатъчно, за да се открои един браузър от 286 777. Сред браузърите с Flash или Java 94,2 % бяха уникални. За скреперите това означава, че само размяната на IP адреси е козметична; Chrome без глави и с настройки по подразбиране ще освети всеки радар за профилиране на устройства. Истинското смекчаване на последиците изисква рандомизиране на заглавията, потискане на шрифтовете и подмяна на часовите зони на един дъх със смяната на IP. Отнасяйте се към вариацията на пръстовите отпечатъци като към част от бюджета за ентропия на прокси-пула.
4 Честота на ротация и фалшиви положителни резултати: преследвайте 0,01 %
Дори перфектните проксита могат да бъдат спънати от прекалено ревностни мениджъри на ботове. DataDome съобщава за процент на фалшиви положителни резултати под 0,01 % при милиарди заявки благодарение на проверките на устройствата на милисекундно ниво. Това е практически критерий: ако легитимните заявки на вашия скрепер се блокират по-често от една на десет хиляди, вие оставяте приходи на масата. Инструментирайте конвейера си с предупреждение за "бюджет за блокиране", след като той бъде надхвърлен, намалете или сменете изходния възел, преди целевият домейн да включи цяла подмрежа в черен списък.
Основен урок
Изборът на прокси вече не е свързан с броя на IP адресите, а с аритметиката на риска. Комбинирайте (а) емпирични съотношения между ботове и трафик, (б) проверени таблици за успеваемост, © метрики за ентропията на пръстовите отпечатъци и (г) тавани на фалшивите положителни резултати в една функция за загуби, след което оптимизирайте. Екипите, които измерват количествено всяка променлива, доставят пълзящи устройства, които продължават да търсят, дори когато мрежата копае все по-дълбоки ровове.