Парсинг через 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.