Как настроить и ротировать прокси в Python Scrapy

Обновлено:

Асинхронный движок Scrapy на базе Twisted включает встроенный компонент HttpProxyMiddleware (с приоритетом 750), который автоматически парсит строки вида http://user:pass@ip:port, назначенные в request.meta['proxy']. Написав компактный пользовательский Downloader Middleware на 10 строк с приоритетом 740, вы сможете автоматически ротировать пауков по пулу безлимитных статических IP-адресов от VinaProxy.

Scrapy · HTTP Proxy Format
request.meta['proxy'] = 'http://user:pass@ip:port'
Приватные IPv4 (серверные)
🇺🇸 United States
В наличии
От
20 000 ₫ / IP / мес.
≈ 0,74 $ · оплата в VND
Оптовые тарифы
  • 1 IP40 000 ₫
  • От 5 IP35 000 ₫
  • От 10 IP25 000 ₫
  • От 20 IP25 000 ₫
  • От 50 IP25 000 ₫
  • От 100 IP25 000 ₫
  • От 200 IP25 000 ₫
  • От 500 IP25 000 ₫
  • От 1000 IP22 000 ₫
  • От 2000 IP20 000 ₫
Купить United States
Приватные IPv4 (серверные)
🇬🇧 United Kingdom
В наличии
От
20 000 ₫ / IP / мес.
≈ 0,74 $ · оплата в VND
Оптовые тарифы
  • 1 IP40 000 ₫
  • От 5 IP35 000 ₫
  • От 10 IP25 000 ₫
  • От 20 IP25 000 ₫
  • От 50 IP25 000 ₫
  • От 100 IP25 000 ₫
  • От 200 IP25 000 ₫
  • От 500 IP25 000 ₫
  • От 1000 IP22 000 ₫
  • От 2000 IP20 000 ₫
Купить United Kingdom
Прокси для платформ:web-scrapingseo-rank-trackingamazon

Порядок работы middleware в Scrapy и параметры параллелизма

Так как стандартный HttpProxyMiddleware работает с приоритетом 750 (удаляет user:pass из URL и формирует заголовок Proxy-Authorization), любой пользовательский middleware, устанавливающий request.meta['proxy'], должен запускаться с меньшим числовым значением (например, 740):

Параметр ScrapyРекомендуемое значениеТехническое назначение
request.meta['proxy']'http://user:pass@ip:port'Направляет запрос через указанный прокси-узел VinaProxy
Приоритет Middleware740 (до 750)Гарантирует, что HttpProxyMiddleware успеет сформировать заголовок авторизации
CONCURRENT_REQUESTS_PER_IP2 - 4Ограничивает число параллельных соединений на один IP для защиты от HTTP 429
AUTOTHROTTLE_ENABLEDTrueДинамически адаптирует задержку сканирования под текущее время отклика сервера

Рекомендации для высоконагруженного парсинга в Scrapy

  • Загружайте список прокси VinaProxy в методе from_crawler() и назначайте request.meta['proxy'] = random.choice(self.proxies) внутри process_request()
  • Включайте RANDOMIZE_DOWNLOAD_DELAY = True совместно с DOWNLOAD_DELAY = 1.0, чтобы интервалы запросов с каждого IP выглядели естественно
  • При ошибках и повторных попытках (429 или 503) выбирайте другой прокси перед повторной отправкой запроса в очередь

Пошаговая инструкция

  1. 1

    Преобразуйте список прокси в формат http://user:pass@ip:port

    Вставьте список прокси VinaProxy в наш Конвертер форматов прокси для получения стандартных URL-строк.

  2. 2

    Создайте ProxyPoolMiddleware в файле middlewares.py

    Определите метод process_request(self, request, spider), присваивающий request.meta['proxy'] = random.choice(self.proxies).

  3. 3

    Зарегистрируйте middleware с приоритетом 740 в settings.py

    Добавьте строку 'myproject.middlewares.ProxyPoolMiddleware': 740 в DOWNLOADER_MIDDLEWARES и установите CONCURRENT_REQUESTS_PER_IP = 2.

  4. 4

    Проверьте работу через scrapy shell или команду запуска

    Отправьте проверочный запрос к https://vinaproxy.com/api/my-ip, чтобы подтвердить корректную ротацию и авторизацию.

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

Почему пользовательский middleware прокси в Scrapy не работает с приоритетом 800?

Встроенный HttpProxyMiddleware запускается с приоритетом 750. Если ваш middleware запускается с приоритетом 800 (после 750), данные user:pass не конвертируются в заголовок Proxy-Authorization. Всегда задавайте приоритет ниже 750 (например, 740).

Поддерживает ли Scrapy постоянные keep-alive соединения с каждым прокси?

Да. Пул соединений Twisted сохраняет активные TCP keep-alive соединения для каждого прокси-узла, минимизируя накладные расходы.

Тарифицируется ли трафик прокси VinaProxy при сканировании миллионов страниц?

Нет. Все тарифные планы VinaProxy на приватные IPv4 и статические ISP включают полностью безлимитный трафик.

Масштабируйте скраперы Scrapy с пулом безлимитных статических IP

Приватные IPv4 и статические ISP-прокси оптом в 7 странах с моментальной выдачей.

Купить прокси для Scrapy

Похожие статьи

Прокси для платформ
Прокси для парсинга сайтов: безлимитные пулы IPv4 и ISP для парсеров 24/7
Высокоскоростные HTTP(S) выделенные IPv4 и статические ISP прокси для Python, Playwright, Selenium и Scrapy с безлимитным трафиком.
Настройка прокси
Как использовать прокси в Python Requests (HTTP/HTTPS и пулинг сессий)
Настройка аутентифицированных HTTP(S) прокси в Python requests и requests.Session(). Обработка ошибок 407 ProxyError и ротация пула статических IP.
Настройка прокси
Как настроить прокси в Playwright (уровень браузера и контекста с авторизацией)
Настройка HTTP(S)-прокси с авторизацией в Playwright для Node.js и Python. Запуск нескольких изолированных статических IP через BrowserContext.
Бесплатные инструменты
Массовый конвертер форматов прокси (100% обработка в браузере)
Массовый конвертер списков прокси, работающий на 100% в браузере. Конвертация между ip:port:user:pass, user:pass@ip:port, http:// URL, SOCKS5 URI, JSON и FoxyProxy.
Прокси для платформ
Прокси для SEO и проверки позиций (SERP): точный мониторинг ключевых слов в 7 странах
Отслеживайте локальную выдачу ключевых слов, тестируйте гео-редиректы и запускайте Screaming Frog с безлимитными IPv4 и статическими ISP прокси.
Прокси для платформ
Прокси для Amazon: исключите риск связывания аккаунтов Seller Central, KDP и Merch
Защитите аккаунты Amazon Seller Central, KDP и Merch on Demand от блокировок за связь (Related Accounts). Статические ISP США и приватные IPv4 Великобритании/Японии.
IPV4 · united states
Приватные прокси IPv4 США: быстрые выделенные IP американских датацентров
Приватные прокси IPv4 США для парсинга, SEO, проверки рекламы и Amazon. Статический IP на одного пользователя, безлимитный трафик, быстрая выдача.
IPV4 · united kingdom
Приватные прокси IPv4 Великобритании: статические IP датацентров для селлеров и SEO
Приватные IPv4 Великобритании для eBay UK, Amazon.co.uk, трекинга в google.co.uk и проверки рекламы. Статический британский IP, безлимитный трафик.