Попробовать

Прокси для Scrapy

Подключите резидентные, мобильные или ISP-прокси к Scrapy. Направляйте каждый запрос через NodeMaven, автоматически меняйте IP, выбирайте нужные локации и храните учётные данные вне кода

95% чистых IP, гарантированно
Резидентские, мобильные и ISP прокси
Круглосуточная экспертная поддержка

Первый
кешбэк
на прокси-рынке

Превращайте использованный трафик в прокси-кредиты
для дальнейшего
использования

Приветственный
подарок на $100+

  • Фильтры качества и скорости
  • ZIP-таргетинг
  • Персональный прокси-эксперт

Эксклюзивная гарантия качества

Получайте $1 каждый раз, когда наш прокси не работает так, как
обещано

Подробнее

Что такое Scrapy и зачем нужны прокси?

Scrapy — это Python-фреймворк с открытым исходным кодом для создания веб-краулеров и извлечения данных с сайтов. Прокси помогают проектам на Scrapy снижать число ограничений по IP, собирать данные по конкретным локациям и масштабировать запросы между разными IP-адресами.

Встроенный в Scrapy `HttpProxyMiddleware` поддерживает прокси с авторизацией. С NodeMaven вы можете подключиться резидентский, мобильный, или ISP прокси и выбрать ротационные или закреплённые сессии для разных сценариев скрапинга

Начните тестировать высококачественные прокси за $3.50

Начните тестировать высококачественные прокси за $3.50

Как настроить прокси NodeMaven in Scrapy

Подключите HTTP-прокси NodeMaven к Scrapy через downloader middleware на уровне проекта. В этом примере используется Books to Scrape, песочница, созданная для практики веб-скрапинга

Шаг 1

Установите Scrapy и создайте проект

Создайте и активируйте виртуальное окружение Python:

python3 -m venv scrapy-env

source scrapy-env/bin/activate

Установите Scrapy:

python3 -m pip install scrapy

Создайте проект и пример паука:

scrapy startproject nodemaven_scrapy cd nodemaven_scrapy scrapy genspider books books.toscrape.com

If python3 --version тоже возвращает «command not found», установите Python 3 с python.org сначала.

Шаг 2

Сгенерируйте прокси NodeMaven

Войдите в Личный кабинет NodeMaven и открыть Настройка прокси-сервера. Choose:

  • Тип прокси: Residential, Mobile или ISP
  • Местоположение: Выберите нужную страну, регион, город или ISP
  • Сессия: Ротационные или статические (sticky)
  • Фильтрация Выберите подходящий для вашего сценария вариант качества IP
  • Протокол: HTTP

Выберите Rotating когда нужно, чтобы NodeMaven менял исходящий IP между запросами. Это подходит для масштабного краулинга, мониторинга цен и исследования рынка.

Выберите Sticky когда паук должен сохранять один и тот же IP для файлов cookie, авторизаций, постраничной навигации и других многошаговых сценариев.

NodeMaven управляет ротацией IP на стороне единого шлюза, поэтому вам не нужно вести отдельный список прокси в Scrapy.

Шаг 3

Храните учетные данные NodeMaven в безопасном месте

Скопируйте полные имя пользователя и пароль прокси из личного кабинета NodeMaven.

Держите эти учетные данные вне кода Scrapy, сохранив их как переменные окружения в текущей сессии терминала. Так middleware для прокси сможет их использовать, не добавляя конфиденциальные данные в middlewares.py or GitHub.

Введите ваше имя пользователя NodeMaven в безопасном режиме:

read -s -p "NodeMaven proxy username: " NODEMAVEN_PROXY_USER; echo

Вставьте полное имя пользователя и нажмите Войти. Вставленное значение останется скрытым.

Введите пароль прокси:

read -s -p "NodeMaven proxy password: " NODEMAVEN_PROXY_PASS; echo

Вставьте пароль и нажмите Войти. Он также останется скрытым.

Экспортируйте обе переменные, чтобы Scrapy получил к ним доступ:

export NODEMAVEN_PROXY_USER NODEMAVEN_PROXY_PASS

Убедитесь, что обе переменные доступны, не выводя их значения:

[ -n "$NODEMAVEN_PROXY_USER" ] && echo "NodeMaven username: set"

[ -n "$NODEMAVEN_PROXY_PASS" ] && echo "NodeMaven password: set"

Вы должны увидеть:

NodeMaven username: set

NodeMaven password: set

Важно: Переменные доступны только в текущей сессии терминала. Если вы закроете терминал, введите их снова перед запуском паука.

Шаг 4

Добавьте middleware прокси NodeMaven

Убедитесь, что терминал находится в каталоге проекта Scrapy. В приглашении командной строки должно быть nodemaven_scrapy.

Откройте файл проекта middlewares.py в редакторе Nano:

nano nodemaven_scrapy/middlewares.py

Перейдите в конец файла, добавьте пустую строку и вставьте:

import os

from urllib.parse import quote





class NodeMavenProxyMiddleware:

    def __init__(self):

        username = quote(

            os.environ["NODEMAVEN_PROXY_USER"],

            safe="",

        )

        password = quote(

            os.environ["NODEMAVEN_PROXY_PASS"],

            safe="",

        )




        self.proxy_url = (

            f"http://{username}:{password}"

            "@gate.nodemaven.com:8080"

        )




    def process_request(self, request):

        request.meta.setdefault("proxy", self.proxy_url)

Важно: Название метода должно быть записано как __init__, с двумя нижними подчёркиваниями до и после инит.

Сохраните и закройте файл:

  1. Нажмите Ctrl + O.
  2. Нажмите Войти чтобы подтвердить имя файла.
  3. Нажмите Контрол + Икс.

Проверьте файл на синтаксические ошибки:

python3 -m py_compile nodemaven_scrapy/middlewares.py \

  && echo "Middleware syntax check: passed"

Если код корректен, терминал выведет:

Middleware syntax check: passed

Middleware считывает учётные данные, сохранённые на шаге 3, формирует URL прокси NodeMaven с авторизацией и подставляет его в запросы Scrapy. Функция quote() безопасно кодирует специальные символы в имени пользователя и пароле.

Шаг 5

Включите middleware в Scrapy

Убедитесь, что терминал по-прежнему находится в каталоге проекта nodemaven_scrapy каталог проекта.

Откройте файл настроек проекта:

nano nodemaven_scrapy/settings.py

Найдите эту существующую настройку:

ROBOTSTXT_OBEY = True

Если она уже есть, оставьте её без изменений. Не добавляйте её второй раз.

Перейдите в конец файла и добавьте:

DOWNLOADER_MIDDLEWARES = {

    "nodemaven_scrapy.middlewares.NodeMavenProxyMiddleware": 700,

}




HTTPPROXY_ENABLED = True

Если у вашего проекта другое имя пакета, замените nodemaven_scrapy на это имя. Для проекта, созданного на шаге 1, оставьте значение ровно таким, как показано.

Сохраните и закройте файл:

  1. Нажмите Ctrl + O.
  2. Нажмите Войти чтобы подтвердить имя файла.
  3. Нажмите Контрол + Икс.

Проверьте файл на синтаксические ошибки Python:

python3 -m py_compile nodemaven_scrapy/settings.py \

  && echo "Settings syntax check: passed"

Убедитесь, что Scrapy загрузил настройки:

scrapy settings --get DOWNLOADER_MIDDLEWARES

scrapy settings --get HTTPPROXY_ENABLED

scrapy settings --get ROBOTSTXT_OBEY

В выводе должен присутствовать middleware NodeMaven и отображаться True для обеих настроек:

{'nodemaven_scrapy.middlewares.NodeMavenProxyMiddleware': 700}

True

True

Встроенный в Scrapy HttpProxyMiddleware считывает URL прокси из request.meta["proxy"]. Пользовательское middleware, добавленное на шаге 4, передаёт URL прокси NodeMaven.

Используйте разумные задержки между запросами и ограничения параллелизма с учётом целевого сайта.

Шаг 6

Создайте пример паука

Убедитесь, что терминал находится внутри nodemaven_scrapy каталог проекта.

Откройте созданный файл паука:

nano nodemaven_scrapy/spiders/books.py

Nano покажет базового паука, созданного на шаге 1.

Удалите существующий код:

  1. Переместите курсор на первую строку.
  2. Нажмите Control + K несколько раз, пока не будут удалены все строки.

Вставьте следующий код в пустой файл:

import scrapy





class BooksSpider(scrapy.Spider):

    name = "books"

    allowed_domains = ["books.toscrape.com"]

    start_urls = ["https://books.toscrape.com/"]




    def parse(self, response):

        for book in response.css("article.product_pod"):

            yield {

                "title": book.css(

                    "h3 a::attr(title)"

                ).get(),

                "price": book.css(

                    ".price_color::text"

                ).get(),

                "availability": " ".join(

                    book.css(

                        ".availability::text"

                    ).getall()

                ).strip(),

            }

Сохраните и закройте файл:

  1. Нажмите Ctrl + O.
  2. Нажмите Войти чтобы подтвердить имя файла.
  3. Нажмите Контрол + Икс.

Проверьте паука на синтаксические ошибки:

python3 -m py_compile nodemaven_scrapy/spiders/books.py \

  && echo "Spider syntax check: passed"

Убедитесь, что Scrapy распознаёт паука:

scrapy list

В терминале должно появиться:

Проверка синтаксиса паука: пройдена

books

Этот пример паука открывает Books to Scrape и извлекает для каждой книги:

  • Заголовок
  • Цена
  • наличие

Мы используем https://books.toscrape.com/ только в качестве примера. Это тестовый сайт, созданный специально для демонстрации веб-скрапинга.

Для реального проекта замените URL и правила извлечения на данные вашего целевого сайта. Убедитесь, что у вас есть разрешение на доступ к нему и его скрапинг.

Screenshot: Зона books.py файл с примером URL и селекторами для названия, цены и наличия, а также подтверждением Проверка синтаксиса паука: пройдена подтверждение.

Шаг 7

Запустите паука через NodeMaven

Из каталога проекта Scrapy выполните:

scrapy crawl books -O books.json

Зона -O создаёт файл books.json или перезаписывает файл, если он уже существует.

Scrapy будет направлять запросы паука через gate.nodemaven.com используя настройки локации и сессии, заложенные в сгенерированное имя пользователя NodeMaven.

Дождитесь завершения обхода. При успешном запуске вы увидите:

  • Ан Ответ HTTP 200
  • Извлечённые записи о книгах в логах
  • Отсутствие ошибок подключения к прокси
  • Нет 407 Требуется аутентификация прокси ошибка
  • A Паук закрыт (finished) сообщение
  • A books.json файл в каталоге проекта
Шаг 8

Проверьте вывод Scrapy

Обход создаёт books.json внутри каталога проекта Scrapy.

Убедитесь, что файл существует:

ls -lh books.json

Выведите количество извлечённых записей и первые три из них:

python3 -c 'import json; data=json.load(open("books.json")); print(f"Total records: {len(data)}"); print(json.dumps(data[:3], indent=2, ensure_ascii=False))'

Вывод должен содержать записи о книгах со следующими полями:

  • Заголовок
  • Цена
  • наличие

Завершённый обход с выгруженными записями и без ошибок аутентификации прокси подтверждает, что Scrapy принял конфигурацию прокси NodeMaven.

Если паук возвращает 407 error, проверьте, что:

  • Имя пользователя NodeMaven скопировано полностью
  • Пароль указан верно
  • HTTP-порт совпадает с указанным в панели управления
  • Переменные окружения доступны для Scrapy
  • Зарезервированные символы в учётных данных закодированы в формате URL

Ваш прокси NodeMaven теперь подключен к Scrapy.

Попробуйте качественные прокси для Scrapy за $3.50 и получите 750MB трафика

Попробуйте качественные прокси для Scrapy за $3.50 и получите 750MB трафика

Простая интеграция прокси для скрапинга на Python

Используйте один и тот же шлюз NodeMaven и прокси-URL с аутентификацией в Scrapy, Python Requests, Selenium и других инструментах веб-скрапинга на Python. Подстраивайте способ интеграции под библиотеку, сохраняя выбранную локацию и политику сессий в своих учетных данных NodeMaven

Выберите премиум-прокси для работы со Scrapy

Запускайте пауков Scrapy на чистых и стабильных IP от NodeMaven для масштабируемого краулинга, сбора данных с учетом локации и постоянных сессий

Резидентские прокси

Резидентские прокси

Настоящие резидентные IP с ротацией и закрепленными сессиями. Универсальный выбор для скрапинга в больших объемах, сбора региональных данных и сайтов, которые оценивают репутацию IP

Рекомендуется для:
Мобильные прокси

Мобильные прокси

Настоящие 4G, 5G и LTE IP для мобильных площадок и задач с повышенными требованиями к репутации IP

Рекомендуется для:
ISP прокси

ISP прокси

Статические резидентные ISP IP с длинными сессиями, быстрым откликом и безлимитным трафиком. Подходят, когда пауку нужна стабильная онлайн-личность при повторных обходах

Рекомендуется для:
Не знаете, какой тип прокси выбрать?

Отзывы наших клиентов и партнёров

Честная обратная связь от тех, кто пользуется NodeMaven и доверяет нам

Уникальное антидетект-решение для телефонов, созданное для управления мобильными аккаунтами в больших масштабах
«NodeMaven тесно сотрудничает с Geelark, обеспечивая надежные мобильные мультиаккаунт-процессы, проверенные и подтвержденные в ежедневном использовании».
Облачные телефоны и мультиаккаунтная платформа, созданная для управления социальными сетями
«Единственный высококачественный провайдер прокси, с которым мы решили интегрироваться. NodeMaven предоставляет чистый, стабильный трафик для наших рабочих процессов».
Ведущий антидетект-браузер, которому доверяют пользователи по всему миру
«Мы рекомендуем NodeMaven как прокси-сервис №1 для мультиаккаунтинга. Он тесно интегрируется с Dolphin Anty, обеспечивая простую настройку».
Антидетект-браузер №1, которому доверяют более 9 млн пользователей
«NodeMaven предоставляет надежные, высококачественные прокси, которые безупречно интегрируются с AdsPower. Вместе мы делаем управление мультиаккаунтами более плавным, стабильным и легко масштабируемым».
Универсальный антидетект-браузер, созданный для безопасного и масштабируемого управления мультиаккаунтами
«NodeMaven предоставляет стабильные, высококачественные прокси, которые работают без сбоев, поддерживая безопасные и эффективные мультиаккаунт-процессы».
Самый надежный в мире эксперт по управлению мультиаккаунтами
«BitBrowser сотрудничает с NodeMaven, создавая надежную антидетект-среду. Управление мультиаккаунтной рекламой и социальными сетями позволяет легко снизить риск блокировки аккаунтов. Использование прокси безопасности NodeMaven обеспечивает стабильность и защищает конфиденциальность локальных данных. Чисто, качественно и стабильно. Мы рекомендуем NodeMaven».
Антидетект-браузер и платформа облачных телефонов для безопасного управления мультиаккаунтами в масштабе
«NodeMaven — прокси-провайдер, которого наши пользователи рекомендуют чаще всего в нашем сообществе. Он предоставляет высококачественные, стабильные IP, которые важнее всего для профессионалов в сфере мультиаккаунтов, нуждающихся в надежности при масштабировании».

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

A Scrapy proxy routes crawler requests through another IP address. Scrapy’s HttpProxyMiddleware accepts a proxy URL from request.meta["proxy"] or the http_proxy and https_proxy environment variables.

Generate an HTTP proxy in NodeMaven, keep the complete username and password in environment variables, and use downloader middleware to assign the authenticated URL to request.meta["proxy"]. Scrapy’s built-in HttpProxyMiddleware handles the connection.

Выберите тип сессии Rotating в настройках прокси NodeMaven. Scrapy продолжает использовать один URL шлюза NodeMaven, а ротацией исходящих IP управляет NodeMaven. Так не нужно вести отдельный список публичных прокси.

Использование ротируемые сессии для широкого обхода и разнообразия IP. Используйте закреплённые сессии для файлов cookie, входов в аккаунты, корзин, постраничной навигации и других многозапросных процессов, которым нужен один и тот же IP.

Выберите США в разделе NodeMaven Proxy Setup выберите ротационную резидентную или мобильную сессию и скопируйте полное сгенерированное имя пользователя в настройки интеграции. Наращивайте параллелизм Scrapy постепенно, соблюдайте правила целевого сайта, отслеживайте коды ответов и при необходимости используйте задержки загрузки или AutoThrottle.

Да. HTTP-прокси URL можно использовать как для HTTP-, так и для HTTPS-адресов назначения. Поэтому в этом руководстве прокси-URL NodeMaven начинается с http://, даже если паук открывает страницу по https://.

Поддержка SOCKS5 зависит от активного обработчика загрузок Scrapy. В текущей документации Scrapy указано, что HttpxDownloadHandler поддерживает SOCKS-прокси, а остальные встроенные обработчики — нет. Для стандартной настройки из этого руководства используйте HTTP-прокси NodeMaven. Рассматривайте SOCKS5 как продвинутую конфигурацию и проверяйте совместимость обработчика перед развёртыванием.

Downloader middleware can modify requests before they reach the downloader. In this integration, NodeMavenProxyMiddleware sets request.meta["proxy"], and Scrapy’s built-in HttpProxyMiddleware applies that proxy to the network request.

Да. Укажите прокси-URL прямо в этом запросе:

yield scrapy.Request(

   url="https://example.com/",

   meta={"proxy": proxy_url},

)

Значение, заданное для конкретного запроса, имеет приоритет над переменными окружения для прокси. В примере мидлвара используется setdefault, поэтому явно назначенный запросу прокси сохраняется.

HTTP 407 означает, что аутентификация на прокси не прошла. Убедитесь, что имя пользователя указано полностью, пароль и HTTP-порт верны, зарезервированные символы закодированы в URL, а переменные окружения доступны процессу, который запускает Scrapy.

Store credentials in environment variables or a secrets manager. Do not paste them into settings.py, middlewares.py, screenshots, logs, or a committed .env file. Commit only variable names and example placeholders.

Да. Одни и те же учётные данные шлюза NodeMaven можно использовать с Python Requests, Scrapy и Selenium. У каждого инструмента свой синтаксис настройки прокси, поэтому переносите параметры подключения, а не код мидлвара, специфичный для Scrapy.

NodeMaven предлагает резидентные, мобильные и ISP-прокси, геотаргетинг, ротационные и закреплённые сессии, HTTP- и SOCKS5-эндпоинты, а также фильтр качества IP. Это позволяет разработчикам подобрать поведение прокси под каждый паук, не поддерживая ненадёжный пул публичных прокси.

Scrapy отправляет запросы через шлюз NodeMaven, а NodeMaven управляет исходящим IP. Выберите ротационную сессию, чтобы IP менялись автоматически, или закреплённую, чтобы IP оставался прежним.

Нет. NodeMaven обеспечивает ротацию через один шлюз, поэтому отдельный пакет для ротации прокси не нужен. Инструменты вроде scrapy-rotating-proxies предназначены в основном для управления списком отдельных прокси-серверов и их проверки.

Купите прокси-сервер для Scrapy за $3.50 и получите 750MB трафика

Начните использовать высококачественные прокси уже сегодня
Этот сайт использует Файлы cookie чтобы улучшить ваш опыт. Продолжая, вы соглашаетесь на использование файлов cookie.