Невозможно загрузить веб-страницу https://www.riachuelo.com.br/feminino/colecao-feminino с использованием Selenium и Python - PullRequest
0 голосов
/ 19 июня 2020

Я пытался очистить эту страницу (https://www.riachuelo.com.br/feminino/colecao-feminino) с помощью Selenium, но мне не удается получить доступ к html, потому что он никогда не загружается. Я пробовал использовать случайные пользовательские агенты и другие браузеры, но проблема не устранена. Есть идеи, почему это происходит?

Вот код:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from fake_useragent import UserAgent
URL = "https://www.riachuelo.com.br/feminino/colecao-feminino"
options = Options()
ua = UserAgent()
userAgent = ua.random
options.add_argument(f'user-agent={userAgent}')
driver = webdriver.Chrome(chrome_options=options,executable_path=r"C:\Program Files (x86)\chromedriver.exe")
driver.get(URL)

1 Ответ

0 голосов
/ 19 июня 2020

Я выполнил ваш вариант использования для загрузки веб-страницы по адресу https://www.riachuelo.com.br/feminino/colecao-feminino, используя Selenium следующим образом:

from selenium import webdriver

options = webdriver.ChromeOptions() 
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.get('https://www.riachuelo.com.br/feminino/colecao-feminino')

Точно так же, согласно вашему наблюдению, я ударил то же препятствие, что веб-страница никогда не загружается. :

riachuelo


Анализ

При проверке DOM Tree веб-страницы вы обнаружите, что некоторые из тегов <iframe>, <script> ссылаются на ключевое слово dist . Например:

  • src="https://dtbot.directtalk.com.br/1.0/staticbot/dist/js/../index.html#!/?token=c243ce95-db6c-4ab6-9f2b-bf60d69c2d3d&widget=true&top=40&text=Alguma%20d%C3%BAvida%3F&textcolor=ffffff&bgcolor=4E1D3A&from=bottomRigth"
  • <script id="dtbot-script" src="https://dtbot.directtalk.com.br/1.0/staticbot/dist/js/dtbot.js?token=c243ce95-db6c-4ab6-9f2b-bf60d69c2d3d&amp;widget=true&amp;top=40&amp;text=Alguma%20d%C3%BAvida%3F&amp;textcolor=ffffff&amp;bgcolor=4E1D3A&amp;from=bottomRigth"></script>

Это явный признак того, что веб-сайт защищен Bot Management. поставщик услуг Distil Networks и навигация с помощью ChromeDriver обнаруживается и впоследствии блокируется .


Distil

Согласно статье Что-то действительно есть о Distil.it ... :

Distil защищает сайты от автоматических c ботов, считывающих контент наблюдая за поведением сайта и выявляя закономерности, характерные для парсеров. Когда Distil обнаруживает вредоносного бота на одном сайте, он создает поведенческий профиль из черного списка, который развертывается для всех своих клиентов. Что-то вроде брандмауэра ботов, Distil обнаруживает закономерности и реагирует. "Even though they can create new bots, we figured out a way to identify Selenium the a tool they're using, so we're blocking Selenium no matter how many times they iterate on that bot. We're doing that now with Python and a lot of different technologies. Once we see a pattern emerge from one type of bot, then we work to reverse engineer the technology they use and identify it as malicious".


Ссылка

Вы можете найти пару подробных обсуждений в:

...