python — Как скрыть, что ты зашел через selenium?
Вопрос задан
Изменён 1 год 2 месяца назад
Просмотрен 9k раза
Использую chromedriver
. Как скрыть от сайта, что ты зашел на него при помощи Selenium?
- python
- python-3.x
- парсер
- selenium
- useragent
2
Добавьте user-agent
аргументом в Options
, например:
from selenium import webdriver from selenium.webdriver.chrome.options import Options opts = Options() opts.add_argument("user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51. 0.2704.103 Safari/537.36") driver = webdriver.Chrome(chrome_options=opts)
5
Я делаю так
from fake_useragent import UserAgent from selenium import webdriver # Вебморда from time import sleep # Для таймаута from selenium.webdriver.chrome.options import Options # Опции селениума while True: ua = UserAgent() opts = Options() us_ag = ua.random # Меняет регулярно юзер-агенты при запросе url = 'https://2ip.ru' # Сайт для проверки измененного юзерагента print(us_ag) opts.add_argument(f"user-agent={us_ag}") # Десктопный useragent driver = webdriver.Chrome(chrome_options=opts) # Иногда нужно явно указать адрес # web драйвера executable_path=r"F:\GIT\siteparser\seleniumparse\chromedriver.exe" driver.get(url) # Открываем в браузере что бы убедиться в применении юзер-агента sleep(10) driver.close()
Проверить видит ли сайт использование webdriver можно здесь
Отключить в хроме можно так:
options. add_argument("--disable-blink-features=AutomationControlled")
Посмотреть видеогайд по отключению можно тут
попробуй использовать FireFox и всавить вот такой код:
option = webdriver.FirefoxOptions() # убирает флажок что автоматизированное ПО управляет браузером option.set_preference("dom.webdriver.enabled", False) # подмена user-agent option.set_preference("general.useragent.override", # вот сюда нужно ввести user-agent) driver = webdriver.Firefox(options=option)
мне это помогло
У меня версия Chrome 97.0.4692.71 работает только этот вариант.
from selenium import webdriver from selenium.webdriver.chrome.options import Options EXE_PATH = r'..\chromedriver.exe' opts = Options() opts.add_experimental_option("excludeSwitches", ["enable-automation"]) opts.add_experimental_option('useAutomationExtension', False) driver = webdriver.Chrome(chrome_options=opts, executable_path=EXE_PATH) driver.get('https://google.com') time.sleep(10)
Хотя считается, что начиная с версии 79. 0.3945.16 должен работать данный вариант:
option.add_argument('--disable-blink-features=AutomationControlled')
Источник: https://piprogramming.org/articles/How-to-make-Selenium-undetectable-and-stealth—7-Ways-to-hide-your-Bot-Automation-from-Detection-0000000017.html
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
JS. Navigator это Javascript объект, который хранит различные параметры и их значения, описывая характеристики вашего устройства. Все параметры объекта JS.Navigator доступны браузеру. Веб-сайты могут комбинировать и использовать эти параметры для отслеживания пользователей.
В этой статье мы опишем настройки профиля в разделе «Расширенные» → «Навигатор».
User-Agent
User-Agent — это короткая строка, встроенная в браузер. Читая строку User-Agent, веб-сайт может идентифицировать ваш браузер и версии операционной системы.
Это пример значения User-Agent:
Mozilla / 5.0 (Windows NT 6.3; WOW64) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 62.0.2785.8Safari / 537.36
В этом случае веб-сайт будет предполагать, что пользователь использует Windows 7 и Chrome версии 62. «NT X» — это версия выпуска Windows. Вы можете проверить другие версии выпуска из статьи Википедии.
При создании профиля браузера значение User-Agent будет получено из базы данных отпечатков. Вы можете проверить значение User-Agent профиля браузера на странице Navigator.
Если вы решили настроить User-Agent вручную в Индиго, обязательно установите соответствующее значение Platform. Расхождения в значениях User-Agent и Platform — большой красный флаг.
Platform
Этот параметр объекта Навигатор сообщает, на какой платформе скомпилирован браузер.
При создании браузерного профиля это значение устанавливается автоматически в соответствии с User-Agent. Оба значения зависят от фильтра «Операционная система» в разделе «Обзор» настроек профиля.
Если вы решите настроить платформу вручную в Индиго, обязательно установите соответствующее значение User-Agent. Расхождения в значениях User-Agent и Platform — большой красный флаг.
Возможные значения платформы для настольных браузеров:
Linux i686
Linux armv7l
MacIntel
Win64
Win32
Возможные значения платформы для мобильных браузеров:
iPhone
IPOD
IPad
Android
Полный список возможных значений Navigator. Platform можно найти в статье Stackoverflow .
Разрешение экрана
Разрешение экрана часто используется для идентификации пользователей. Веб-сайты могут анализировать несоответствие разрешения экрана, установленного в браузере, и реального разрешения вашего устройства.
В Indigo этот параметр устанавливается автоматически из нашей базы отпечатков при создании браузерного профиля. Вы можете выбрать подходящее значение из списка или же ввести его вручную.
Индиго запустит браузер с максимальным разрешением, установленным в настройках профиля браузера. Увеличение размера окна браузера является типичным поведением для большинства пользователей, и мы не советуем уменьшать его размер. Мы также не советуем использовать разрешение экрана больше, чем ваше собственное разрешение экрана, потому что веб-сайты увидят, что вы не работаете в развернутом окне.
При совместном использовании профиля браузера с кем-либо, мы рекомендуем, чтобы разрешение, используемое в профиле браузера, не превышало разрешение самого маленького экрана, используемого в вашей команде. Например, ваше устройство 4K, а ваш коллега использует дисплей FullHD (1920×1080). В этом случае мы рекомендуем сохранить разрешение в профиле браузера до 1920×1080 или меньше. В противном случае фактический размер окна может отличаться при открытии профиля браузера на разных устройствах.
Language
Параметр Accept-Language помогает веб-сайтам определять ваш предпочитаемый язык и в соответствии с ним подстраивать свое содержание. Как и все другие параметры в разделе «Навигатор», Accept-Language может быть использован для идентификации отпечатка вашего браузера.
При создании браузерного профиля в этом параметре устанавливается самое популярное значение. Indigo не получает его из базы данных отпечатков, так как это может привести к отличию языка браузера от геолокации вашего IP (например, вы используете IP с геолокацией в Германии, а в браузере выставлен филиппинский язык).
Вместо этого мы предлагаем удобный инструмент для изменения этого параметра. Вы можете скопировать значение Accept-Language из обычного браузера (например, Chrome) или использовать конструктор.
Если вы хотите, чтобы сайты отображались на определенном языке, вы можете выбрать его, нажав «Редактировать». В новом окне найдите желаемый язык и перетащите его в начало списка справа. Если веб-страница доступна на выбранном языке, он будет использоваться для ее отображения.
DoNotTrack (DNT)
DoNotTrack (DNT) является параметром Навигатор объекта, который возвращает настройку ‘do-not-track’ браузера пользователя. Данный параметр был создан для того, чтобы пользователь мог уклониться от отслеживания, включив данный параметр. Однако, большинство веб-сайтов не оценивают этот выбор.
Как раз таки наоборот, веб-сайты используют данный параметр для отслеживания пользователей.
В Индиго по умолчанию DoNotTrack установлен на «Not set» (не установлен, не определён)- это означает, что пользователь не сделал выбора. Данный выбор соответствует абсолютному большинству пользователей Интернета.
Данный параметр можно изменять, но мы рекомендуем оставлять значение по умолчанию для всех браузерных профилей.
BuildID
BuildID является параметром Навигатор объекта, который возвращает ID сборки браузера. Этот параметр актуален только для браузеров Firefox (Stealthfox в Indigo). Обычно BuildID представлен в виде формата YYYYMMDDHH
.
Indigo получает значение BuildID из базы данных браузерных профилей Stealthfox. Этот параметр не рекомендуется менять вручную.
HardwareConcurrency
HardwareConcurency — это параметр объекта Navigator, который указывает число процессоров ЦП, доступных для запуска потоков на компьютере пользователя. Значения 1, 2, 8, 16, 32, 64 и другие действительны. В Индиго диапазон ограничен наиболее распространенными значениями 2, 4, 8 и 16. Если другое значение извлекается из базы данных отпечатков, оно будет заменено одним из часто встречающихся значений.
OSCPU
Свойство Oscpu является параметром объекта Navigator, который ссылается на версию операционной системы, которую вы используете. Это значение присутствует только в браузерах на основе Firefox.
При создании профиля браузера значение Platform извлекается вместе с User-agent. Оба значения зависят от фильтра операционной системы на странице обзора. Вы также можете установить это значение вручную на странице навигатора.
Важно! Если вы хотите вручную установить значение OSCPU в Индиго, удостоверьтесь, что у вас выбрано соответствующее значение User-Agent. Несоответствие значений User-agent и OSCPU является очень критичным сигналом для веб-сайтов.
Вот несколько примеров возможных значений Oscpu:
Intel Mac OS X 10.14
Intel Mac OS X 10.12
Intel Mac OS X 10.11
Linux x86_64
Linux i686
Windows NT 10.0; Win64; x64
Windows NT 6.3; WOW64
Windows NT 6.3; Win64; x64
Windows NT 6.1
Windows NT 6.1; Win64; x64
Ценообразование — пользовательский стек
Ценообразование — пользовательский стекТарифные планы для любого этапа
Ежемесячное выставление счетов Годовой биллинг
Бесплатно навсегда, без исключений.
$0 в месяц
$0 в месяц
Регистрация
- 1.000 Поисков/мес
- Нет поддержки
- Обнаружение устройства
- Обнаружение браузера
- Обнаружение ОС
Базовый уровень — основные функции и до 50 000 запросов в месяц.
$9,99 в месяц или 7,99 долл. США при годовой оплате
$7,99 в месяц оплачивается ежегодно
Регистрация
- 50 000 просмотров/мес
- Стандартная опора
- Обнаружение устройства
- Обнаружение браузера
- Обнаружение ОС
- Обнаружение обходчика
- HTTPS-шифрование
Самый популярный — расширенные функции и до 500 000 запросов в месяц.
$490,99 в месяц или 39,99 долл. США при годовой оплате
39,99 долл. США в месяц оплачивается ежегодно
Регистрация
- 500 000 запросов в месяц
- Стандартная опора
- Обнаружение устройства
- Обнаружение браузера
- Обнаружение ОС
- Обнаружение обходчика
- HTTPS-шифрование
- Массовый поиск
Уровень Professional — полный набор функций API и до 2 миллионов запросов в месяц.
$99,99 в месяц или 79,99 долларов США при годовой оплате
79,99 долларов США в месяц оплачивается ежегодно
Регистрация
- 2 000 000 просмотров/мес
- Стандартная опора
- Обнаружение устройства
- Обнаружение браузера
- Обнаружение ОС
- Обнаружение обходчика
- HTTPS-шифрование
- Массовый поиск
Ищете больше?
Свяжитесь с нами, чтобы получить предложение.Индивидуальные цены Индивидуально для ваших нужд
Свяжитесь с нами
- Поиск томов
- Стандартная поддержка
- Обнаружение устройства
- Обнаружение браузера
- Обнаружение ОС
- Обнаружение обходчика
- HTTPS-шифрование
- Массовый поиск
- Индивидуальные решения
- Нам доверяют умнейших брендов :
Поддержка веб-сайтов по всему миру
Тысячи стартапов, малых и средних предприятий и корпораций по всему миру внедрили пользовательский стек, чтобы контролировать работу своих пользователей.
- Точное обнаружение
Данные User-Agent, предоставляемые userstack, собираются штатными специалистами и обновляются несколько раз в неделю.
- Безопасность на уровне банка
Все потоки данных, отправляемые из API пользовательского стека и в него, защищены с помощью 256-битного SSL-шифрования банковского уровня.
- Поддержка мирового уровня
Технические вопросы? Наша обученная команда специалистов здесь, чтобы помочь вам с любыми запросами, которые могут у вас возникнуть.
Нам доверяют разработчики
Вместо того, чтобы усложнять вашу серверную часть, API пользовательского стека был разработан для работы в режиме plug-and-play.
- JSON и XML API
Простой в использовании REST API, отвечающий в формате JSON или XML, совместимый с любым основным языком программирования.
- Непревзойденная скорость
Никогда не экономьте на скорости — запросы API, отправленные в пользовательский стек, обрабатываются за миллисекунды.
- Обширная документация
Обширная документация по API ожидает изучения и поможет вам приступить к работе всего за несколько минут.
Часто задаваемые вопросы
Данные агента пользователя и API
Откуда берутся данные API?
Обнаружение User-Agent с помощью пользовательского стека основано на проприетарной базе данных, отображающей строки User-Agent с полным набором устройств, браузеров и операционных систем, используемых в настоящее время и представленных на рынке.
Как часто обновляются данные User-Agent?
Наша база данных строк User-Agent обновляется несколько раз в неделю, обеспечивая точное и актуальное обнаружение User-Agent даже для самого последнего выпущенного оборудования и программного обеспечения.
Насколько масштабируема эта служба?
Userstack API основан на облачной инфраструктуре apilayer, системе, на которой работают некоторые из самых популярных в мире API-сервисов реального времени, что делает его высоко масштабируемым и гибким на любом этапе пути.
Планы, цены и оплата
В чем разница между бесплатной и платной подпиской?
Бесплатный план userstack — это способ познакомиться с API, предлагающий базовые функции API и ограничение в 10 000 запросов к API в месяц.
Как только вам понадобится больший объем или расширенные функции API, вы можете выбрать одну из премиальных подписок или связаться с нами для индивидуального решения.
Какой план подписки мне подходит?
Наиболее решающим фактором, когда речь заходит о ваших технических требованиях, является количество ежемесячных строк User-Agent, которые необходимо обрабатывать в месяц. Другие факторы включают шифрование HTTPS и доступ к функциям массового поиска и обнаружения сканеров.
Подписка на бесплатный план — отличный способ познакомиться с API и внедрить его без каких-либо обязательств.
Какие способы оплаты поддерживаются?
Оплата может быть произведена кредитной картой (Visa, MasterCard, Discover, Diner’s Club, American Express). Корпоративные и крупные клиенты могут запросить включение ежегодных платежей банковским переводом. Вы можете изменить способ оплаты в любое время в разделе «Оплата» на панели управления вашей учетной записи.
Могу ли я также платить ежегодно?
Да. Если вы выберете годовое выставление счетов, общая стоимость вашего плана подписки будет на 20% ниже, чем общая сумма, которую вы заплатили бы при ежемесячной оплате.
Просмотреть все часто задаваемые вопросы
Доступ к API и функции
Что такое запрос API?
Цены основаны на разрешенном количестве запросов API в месяц. Каждый раз, когда служба API пользовательского стека используется для поиска строки User-Agent, используется один запрос API. Ошибки API не засчитываются в вашу месячную квоту.
Что произойдет, если я превысю объем запросов API?
Пользователи будут автоматически уведомлены по электронной почте и на панели управления своей учетной записи, как только будет достигнуто не менее 75%, 90% и 100% их месячной квоты API. Поскольку мы понимаем, что требования к данным могут сильно различаться, ваша квота может быть превышена максимум на 5%.
Каково время безотказной работы API?
Статус системы нашего API круглосуточно отслеживается. Мы прилагаем все усилия, чтобы обеспечить максимально возможный уровень доступности и согласованности, и мы гордимся тем, что средний показатель времени безотказной работы составляет почти 100% (99,9%), рассчитанный на основе последних 12 месяцев.
По следующему URL-адресу доступна общедоступная страница состояния API: status.userstack.com.
Убежден? Такие компании, как Zendesk, Intuit и Apple. Начать сейчас Получить базовый план
FAQ — пользовательский стек
FAQ — пользовательский стекСамые популярные вопросы и ответы об источниках данных, точности, функциях API, выставлении счетов и управлении учетными записями.
Общие
Что такое пользовательский стек?
Пользовательский стек— это простой, но мощный REST API, созданный для точного определения устройства, браузера и операционной системы, которые используют посетители веб-сайта, путем анализа и интерпретации строк User-Agent. API используют более 10 000 компаний по всему миру, включая Zendesk, Intuit и Apple. Чтобы узнать больше, вы можете получить бесплатный ключ доступа к API, ознакомиться с документацией по API и отправить свой первый запрос к API уже сегодня.
Кто запускает API?
userstack — это продукт, созданный и поддерживаемый компанией-разработчиком программного обеспечения apilayer, расположенной в Лондоне, Великобритания, и Вене, Австрия. apilayer — компания, стоящая за некоторыми из самых популярных продуктов API и SaaS во всем мире, включая currencylayer, invoicely и eversign.
Данные IP и API
Откуда берутся данные API?
Обнаружение User-Agent с помощью пользовательского стека основано на проприетарной базе данных, отображающей строки User-Agent с полным набором устройств, браузеров и операционных систем, используемых в настоящее время и представленных на рынке.
Как часто обновляются данные User-Agent?
Наша база данных строк User-Agent обновляется несколько раз в неделю, обеспечивая точное и актуальное обнаружение User-Agent даже для самого последнего выпущенного оборудования и программного обеспечения.
Насколько масштабируема эта служба?
Userstack API основан на облачной инфраструктуре apilayer, системе, на которой работают некоторые из самых популярных в мире API-сервисов реального времени, что делает его высоко масштабируемым и гибким на любом этапе пути.
Планы, цены и оплата
В чем разница между бесплатной и платной подпиской?
Бесплатный план userstack — это способ познакомиться с API, предлагающий базовые функции API и ограничение в 10 000 запросов к API в месяц. Как только вам понадобится больший объем или расширенные функции API, вы можете выбрать одну из премиальных подписок или связаться с нами для индивидуального решения.
Какой план подписки мне подходит?
Наиболее решающим фактором, когда речь заходит о ваших технических требованиях, является количество ежемесячных строк User-Agent, которые необходимо обрабатывать в месяц. Другие факторы включают шифрование HTTPS и доступ к функциям массового поиска и обнаружения сканеров.
Подписка на бесплатный план — отличный способ познакомиться с API и внедрить его без каких-либо обязательств.
Какие способы оплаты поддерживаются?
Оплата может быть произведена кредитной картой (Visa, MasterCard, Discover, Diner’s Club, American Express). Корпоративные и крупные клиенты могут запросить включение ежегодных платежей банковским переводом. Вы можете изменить способ оплаты в любое время в разделе «Оплата» на панели управления вашей учетной записи.
Могу ли я также платить ежегодно?
Да. Если вы выберете годовое выставление счетов, общая стоимость вашего плана подписки будет на 20% ниже, чем общая сумма, которую вы заплатили бы при ежемесячной оплате.
Как я могу изменить частоту платежей?
Чтобы изменить частоту выставления счетов с ежемесячной на ежегодную или с ежегодной на ежемесячную, вам потребуется вернуться к бесплатному тарифному плану.
Шаг 1: Перейдите на страницу подписки, нажмите «Понизить версию» в разделе «Бесплатный план» и подтвердите переход на более раннюю версию.