Лучшие User Agent'ы для веб-скрапинга и как их использовать

Nikolai Smirnov
Software Development Lead
07-Mar-2025

При выполнении веб-скрейпинга использование неправильного user agent может привести к мгновенной блокировке. Веб-сайты часто используют user agent для различения реальных пользователей и ботов. Чтобы избежать обнаружения, крайне важно использовать корректно сформированные и часто обновляемые user agent в ваших проектах веб-скрейпинга.
В этом руководстве вы узнаете:
- Что такое user agent и почему это важно для веб-скрейпинга
- Список лучших user agent для скрейпинга
- Как устанавливать и вращать user agent в Python
- Дополнительные рекомендации по предотвращению блокировки
Погрузимся! 🚀
Что такое User Agent?
User Agent (UA) — это строка, отправляемая в заголовках HTTP-запроса, которая идентифицирует браузер, операционную систему и другие детали. Веб-серверы используют эту информацию для отображения соответствующего контента для устройства пользователя.
Пример строки User Agent:
plaintext
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
Разберем подробнее:
Mozilla/5.0– семейство браузеров(Windows NT 10.0; Win64; x64)– сведения об операционной системеAppleWebKit/537.36 (KHTML, like Gecko)– движок рендерингаChrome/123.0.0.0– версия браузераSafari/537.36– фреймворк совместимости
Изменяя user agent, вы можете заставить ваш веб-скрейпер выглядеть как настоящий браузер, снижая риск обнаружения.
Почему User Agent важны для веб-скрейпинга
Большинство веб-сайтов анализируют user agent, чтобы отфильтровывать трафик ботов. Если ваш скрейпер отправляет неверный или устаревший user agent, он может быть заблокирован мгновенно.
Используя соответствующий user agent, вы можете:
- Имитировать настоящий браузер и слиться с обычным трафиком.
- Обойти защиту от ботов, которая проверяет стандартные библиотеки для скрейпинга.
- Улучшить показатели успешности запросов и избежать CAPTCHA или блокировки IP-адресов.
Однако, повторное использование одного и того же user agent может все еще активировать системы защиты от ботов. Вот почему вращение user agent имеет решающее значение.
Лучшие User Agent для веб-скрейпинга (обновленный список)
Ниже приведен отборный список эффективных user agent для веб-скрейпинга:
User Agent Google Chrome:
plaintext
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
User Agent Mozilla Firefox:
plaintext
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0
Mozilla/5.0 (Macintosh; Intel Mac OS X 14.4; rv:124.0) Gecko/20100101 Firefox/124.0
Mozilla/5.0 (X11; Linux i686; rv:124.0) Gecko/20100101 Firefox/124.0
Другие браузеры:
plaintext
Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.2420.81
💡 Совет: Вы можете проверить свой собственный user agent, посетив WhatIsMyUserAgent.
Как установить пользовательский User Agent в Python
Многие веб-сайты внедряют механизмы обнаружения ботов, которые блокируют запросы с отсутствующими или некорректными заголовками user-agent. В этом разделе мы рассмотрим различные способы эффективной настройки и вращения user agent.
1. Использование библиотеки requests
Простейший способ определить user agent — это изменение заголовков запроса с помощью популярной библиотеки requests.
Пример: Установка статического User Agent
python
import requests
# Определение заголовков с пользовательским User-Agent
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"
}
# Отправка запроса с пользовательским User-Agent
response = requests.get("https://httpbin.org/headers", headers=headers)
# Вывод заголовков ответа
print(response.text)
Вывод:
json
{
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"
}
}
Это подтверждает, что сервер правильно получает и распознает строку user agent.
2. Вращение User Agent для лучшей анонимности
Повторное использование одного user agent может привести к блокировкам. Чтобы избежать этого, вращайте user agent, используя предопределенный список.
Пример: Вращение User Agent с помощью random
python
import requests
import random
# Список различных user agent
user_agents = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0"
]
# Выбор случайного user agent
headers = {"User-Agent": random.choice(user_agents)}
# Отправка запроса со случайно выбранным user agent
response = requests.get("https://httpbin.org/headers", headers=headers)
print(response.text)
Вращая user agent, ваш скрейпер выглядит более похожим на человека, и снижается вероятность обнаружения.
3. Использование fake_useragent для динамической генерации User Agent
Вместо поддержания статического списка вы можете динамически генерировать user agent с помощью библиотеки fake_useragent.
Установка:
sh
pip install fake-useragent
Пример: Генерация случайных User Agent
python
from fake_useragent import UserAgent
import requests
# Создание объекта UserAgent
ua = UserAgent()
# Генерация случайного user agent
headers = {"User-Agent": ua.random}
# Отправка запроса с динамически сгенерированным user agent
response = requests.get("https://httpbin.org/headers", headers=headers)
print(response.text)
Этот метод обеспечивает более широкий выбор user agent, поддерживая их в актуальном состоянии.
4. Установка пользовательского User Agent в Selenium
При использовании Selenium для веб-скрейпинга установка user agent требует изменения параметров браузера.
Пример: Установка User Agent в Chrome
python
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# Настройка параметров Chrome
chrome_options = Options()
chrome_options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36")
# Запуск браузера с пользовательским user agent
driver = webdriver.Chrome(options=chrome_options)
# Открытие тестовой страницы для проверки user agent
driver.get("https://httpbin.org/headers")
# Извлечение и вывод содержимого страницы
print(driver.page_source)
driver.quit()
Используя инструменты автоматизации браузеров, такие как Selenium, вы можете имитировать поведение реального пользователя и обходить расширенные средства защиты от ботов.
5. Проверка вашего User Agent
Чтобы убедиться, что ваш user agent установлен правильно, используйте следующие методы:
- Проверьте заголовки ответа от
https://httpbin.org/headers - Используйте инструменты разработчика браузера (F12 > Network > Headers) для проверки запросов
- Используйте логирование для подтверждения вращения user agent в скрейперах
Пример: Логирование User Agent в цикле
python
import requests
import random
import time
# Список user agent
user_agents = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0"
]
# Цикл запросов
for i in range(5):
user_agent = random.choice(user_agents)
headers = {"User-Agent": user_agent}
response = requests.get("https://httpbin.org/headers", headers=headers)
print(f"Запрос {i+1} - User-Agent: {user_agent}")
time.sleep(2) # Добавление задержки во избежание ограничения скорости
Этот скрипт регирует различные user agent в течение нескольких запросов, помогая вам отлаживать стратегии вращения.
Как вращать User Agent в масштабе
Вместо использования одного статического user agent, лучше динамически вращать их, чтобы избежать обнаружения. Вот как вы можете вращать user agent в Python:
python
import requests
import random
user_agents = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"
]
headers = {"User-Agent": random.choice(user_agents)}
response = requests.get("https://httpbin.org/headers", headers=headers)
print(response.text)
Этот скрипт случайно выбирает user agent из списка, что затрудняет обнаружение вашего скрейпера.
Дополнительные рекомендации по предотвращению блокировки
Даже с лучшими user agent, веб-скрейпинг требует дополнительных методов, чтобы оставаться незамеченным:
- Используйте прокси, чтобы избежать блокировки IP-адресов.
- Внедряйте задержки и случайные интервалы между запросами.
- Вращайте заголовки и шаблоны запросов, чтобы имитировать поведение человека.
- Избегайте чрезмерного скрейпинга, чтобы предотвратить срабатывание ограничений скорости.
- Мониторинг кодов ответов, чтобы обнаружить блокировки и соответствующим образом адаптироваться.
Даже при вращении user agent и прокси, а также всех этих советах, веб-сайты могут все еще использовать усовершенствованные методы обнаружения, такие как дактилоскопия, задачи JavaScript и верификация CAPTCHA. Именно здесь на помощь приходит CapSolver.
CapSolver специализируется на решении задач Capttcha, обеспечивая бесперебойный веб-скрейпинг. Интегрируя CapSolver, вы можете автоматически решать CAPTCHA и поддерживать бесперебойную работу вашего скрейпера
Получите свой бонусный код для лучших решений по распознаванию капчи - CapSolver: CAPTCHA. После его использования вы получите дополнительный 5% бонус после каждой пополнения баланса, неограниченно
Заключение
Использование правильных user agent — это критически важный шаг в веб-скрейпинге. В этом руководстве мы рассмотрели:
✅ Что такое user agent и как он работает
✅ Список эффективных user agent для скрейпинга
✅ Как устанавливать и вращать user agent в Python
✅ Дополнительные рекомендации, чтобы оставаться незамеченным
Комбинируя вращение user agent с другими методами защиты от обнаружения, вы можете успешно извлекать данные, не подвергаясь блокировке.
FAQ
1. Что такое user agent в веб-скрейпинге?
User agent — это строка, которая идентифицирует браузер или клиентское программное обеспечение веб-серверу. В веб-скрейпинге он используется для имитации активности реального пользователя и предотвращения обнаружения.
2. Является ли веб-скрейпинг для личного использования незаконным?
Веб-скрейпинг, как правило, легален для личного использования, но вы должны соблюдать условия обслуживания веб-сайта и избегать скрейпинга конфиденциальных или защищенных авторским правом данных.
3. Какова цель вращения user agent в веб-скрейпинге?
Вращение user agent помогает избежать обнаружения и блокировки, заставляя запросы выглядеть так, как будто они поступают от разных браузеров или устройств.
4. Как я могу предотвратить блокировку во время веб-скрейпинга?
Чтобы избежать блокировки, используйте вращение IP-адресов, решение CAPTCHA, задержки между запросами и убедитесь в соответствии с файлом robots.txt сайта.
5. Может ли веб-скрейпинг повлиять на производительность веб-сайта?
Да, слишком частый скрейпинг может перегрузить сервер веб-сайта. Важно ответственно заниматься скрейпингом с ограниченным количеством запросов.
Дисклеймер о соблюдении: Информация, представленная в этом блоге, предназначена только для справочных целей. CapSolver обязуется соблюдать все применимые законы и нормы. Использование сети CapSolver для незаконной, мошеннической или злоупотребляющей деятельности строго запрещено и будет расследовано. Наши решения для распознавания капчи улучшают пользовательский опыт, обеспечивая 100% соблюдение при помощи в решении трудностей с капчей в процессе сбора общедоступных данных. Мы призываем к ответственному использованию наших услуг. Для получения дополнительной информации, пожалуйста, посетите наши Условия обслуживания и Политику конфиденциальности.
Ещеe

Лучшие User Agent'ы для веб-скрапинга и как их использовать
Руководство по лучшим user agent'ам для веб-скрапинга и их эффективному использованию для предотвращения обнаружения. Изучите важность user agent'ов, их типов и способы их реализации для бесшовного и незаметного веб-скрапинга.

Nikolai Smirnov
07-Mar-2025

Как обойти защиту Cloudflare JS при веб-скрапинге и автоматизации
Научитесь решать JavaScript-вызов Cloudflare для бесшовного веб-скрапинга и автоматизации. Откройте для себя эффективные стратегии, включая использование headless-браузеров, ротацию прокси и использование расширенных возможностей решения CAPTCHA от CapSolver.

Nikolai Smirnov
05-Mar-2025

Отпечатки TLS Cloudflare: что это и как это решить
Узнайте о применении Cloudflare TLS-фингерпринтинга в целях безопасности, как он обнаруживает и блокирует ботов, и изучите эффективные методы решения этой проблемы для веб-скрейпинга и автоматизированного просмотра.

Nikolai Smirnov
28-Feb-2025

Почему меня постоянно просят подтвердить, что я не робот?
Узнайте, почему Google запрашивает подтверждение того, что вы не робот, и изучите решения, такие как использование API CapSolver для эффективного решения задач CAPTCHA.

Nikolai Smirnov
27-Feb-2025

Как извлечь данные с сайта, защищенного Cloudflare
В этом руководстве мы рассмотрим этичные и эффективные методы извлечения данных с веб-сайтов, защищенных Cloudflare.

Ethan Collins
20-Feb-2025

Почему сайты считают меня ботом? И как это исправить
Поймите, почему веб-сайты помечают вас как бота, и как избежать обнаружения. Ключевыми триггерами являются задачи CAPTCHA, подозрительные IP-адреса и необычное поведение браузера.

Nikolai Smirnov
20-Feb-2025


