Селен скребок обнаружен при загрузке первой страницы - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь очистить этот сайт: https://www.zocdoc.com/

Фрист Я попытался использовать библиотеку запросов и получил ответ от сайта:

b'<html style="height:100%"><head><META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"><meta name="format-detection" content="telephone=no"><meta name="viewport" content="initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"></head><body style="margin:0px;height:100%"><iframe src="/_Incapsula_Resource?CWUDNSAI=20&xinfo=13-8874904-0%200NNN%20RT%281557792003687%20128%29%20q%280%20-1%20-1%20-1%29%20r%280%20-1%29%20B15%284%2c200%2c0%29%20U5&incident_id=787000970007113277-35368596172637725&edet=15&cinfo=04000000" frameborder=0 width="100%" height="100%" marginheight="0px" marginwidth="0px">Request unsuccessful. Incapsula incident ID: 787000970007113277-35368596172637725</iframe></body></html>'

Поэтому я переключился на селен, которыйобычно работает.Я использовал этот простой код для проверки:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
driver = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver")
url = "https://www.zocdoc.com/"
driver.get(url)

Но это тоже не работает, я получаю такой результат:

enter image description here

Как сайт может так быстро обнаружить робота?

1 Ответ

1 голос
/ 14 мая 2019

Как видно из размещенного изображения, сайт защищен с помощью Imperva WAF (брандмауэр веб-приложений) или соответствующего продукта.

Если вы пингуете сайт, вы увидите, что все запросы проходят по адресам, связанным с Imperva.

ping www.zocdoc.com
Pinging ux639.x.incapdns.net [45.60.62.232] with 32 bytes of data:
Reply from 45.60.62.232: bytes=32 time=46ms TTL=59
Reply from 45.60.62.232: bytes=32 time=47ms TTL=59
Reply from 45.60.62.232: bytes=32 time=46ms TTL=59
Reply from 45.60.62.232: bytes=32 time=46ms TTL=59

Как видите, pinging www.zocdoc.com перенаправляет вас через пространство имен incapdns.net , которое согласно WHOIS принадлежит Imperva. Inc.

Что касается того, как работает обнаружение. Я полагаю, что эта проблема была рассмотрена в следующем сообщении: Может ли веб-сайт определить, когда вы используете селен с хроматографом? .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...