Парсинг через Tor: как настроить смену IP и использовать мосты

    Парсинг (веб-скрапинг) с использованием сети Tor - популярный способ скрыть реальный IP-адрес и обойти блокировки. Однако многие новички сталкиваются с ситуацией, когда IP не меняется, хотя Tor настроен правильно. В этой статье мы разберём, почему это происходит, как работают мосты и какие есть обходные пути для эффективного сбора данных.

    Работает ли базовый парсинг через Tor в 2025 году?

    Да, базовый парсинг через Tor всё ещё работает, но с оговорками. Современные сайты активно используют системы защиты от ботов (Cloudflare, reCAPTCHA), которые блокируют запросы из сети Tor. Кроме того, выходные узлы Tor часто попадают в чёрные списки. Для успешного парсинга требуется правильная настройка: использование SOCKS5-прокси, обновлённые мосты и смена цепочки узлов.

    Почему IP не меняется при парсинге через Tor?

    Основные причины:

    • Утечка DNS-запросов - браузер или код отправляют запросы в обход Tor.
    • Неверная конфигурация прокси - программа не использует localhost:9050 (или другой порт SOCKS5).
    • Использование фиксированного выхода - некоторые инструменты (например, requests в Python без socks) не перенаправляют трафик через Tor.
    • Сайт использует WebRTC или JavaScript для определения реального IP.

    Зачем нужны мосты в Tor для парсинга?

    Мосты (bridges) - это приватные ретрансляторы Tor, которые не публикуются в открытом списке узлов. Они нужны для обхода блокировок Tor на уровне провайдера или сайта. Если ваш IP не меняется, попробуйте добавить мосты в конфигурацию. Для парсинга рекомендуется использовать obfs4-мосты, которые маскируют трафик под случайные пакеты.

    Как настроить смену IP через Tor в коде?

    Пример на Python с библиотекой requests и socks:

    import requests
    proxies = {
    'http': 'socks5h://127.0.0.1:9050',
    'https': 'socks5h://127.0.0.1:9050'
    }
    session = requests.Session()
    session.proxies = proxies
    response = session.get('http://httpbin.org/ip')
    print(response.text)

    Для принудительной смены IP отправьте команду echo -e "AUTHENTICATE \"\"\nSIGNAL NEWNYM\" | nc localhost 9051.

    Обходные пути для парсинга, если Tor не помогает

    Если Tor блокируется или IP всё равно не меняется, рассмотрите альтернативы:

    • Платные прокси-серверы (резидентные или дата-центр) с ротацией IP.
    • VPN с возможностью смены локации.
    • Сервисы аренды браузеров (например, BrowserStack) для обхода сложных капч.
    • Использование headless-браузеров (Selenium, Puppeteer) с настройкой WebRTC.

    Частые ошибки при парсинге через Tor

    Новички часто забывают:

    • Проверить, что Tor запущен и слушает порт 9050.
    • Отключить WebRTC в браузере (если парсинг через Selenium).
    • Использовать socks5h (а не socks5) для DNS через Tor.
    • Обновлять список мостов каждые 2-3 дня.

    Помните: даже с правильной настройкой Tor не гарантирует 100% анонимность. Для критически важных задач используйте комбинацию Tor + VPN.

    Часто задаваемые вопросы