Когда мы используем сканеры Python для сбора информации, нас часто блокируют. Иногда нам сообщают, что доступ осуществляется слишком часто, а иногда возвращаются некоторые коды ошибок. Причина этой ситуации в том, что IP-адрес сканера обнаруживается и ограничивается веб-сайтом. Так как же веб-сайт узнает, что сканер собирает информацию?
1. Обнаружение IP
Веб-сайт определит скорость доступа пользователя по IP-адресу. Если скорость доступа достигнет установленного порога, ограничение будет снято, IP-адрес заблокируется, краулер остановится и данные больше не будут получены. Чтобы справиться с обнаружением IP-адресов, вы можете использовать IP-прокси и переключать большое количество IP-адресов, чтобы обойти ограничения.
2. Обнаружение кода подтверждения
Установите ограничения кода подтверждения входа и установите ограничения кода подтверждения для тех, кто получает доступ слишком быстро. Если вы не введете правильный код подтверждения, вы не сможете получить информацию повторно. Поскольку сканеры могут использовать другие инструменты для идентификации проверочных кодов, веб-сайты продолжают усложнять проверочные коды: от обычных проверочных кодов с чистым исследованием данных до гибридных проверочных кодов или скользящих проверочных кодов, графических проверочных кодов и т. д.
3. Обнаружение заголовка запроса
Сканер не является пользователем и не имеет других характеристик при доступе. Веб-сайт может определить, является ли другая сторона пользователем или сканером, определяя заголовок запроса сканера.
4. Обнаружение файлов cookie
Браузер сохраняет файлы cookie, поэтому веб-сайт определит, являетесь ли вы реальным пользователем, обнаружив файлы cookie. Если сканер плохо замаскирован, сработает ограниченный доступ.