Пошаговая настройка VPS под парсинга и скрейпинга с нуля
Взяли сервер под сбор данных, но не знаете, с чего начать? Пошаговая настройка VPS под парсинг и скрейпинг с нуля укладывается в понятную последовательность: подготовить среду, поставить инструменты сбора, настроить хранение и запуск по расписанию. Пройдём весь путь по порядку, чтобы сервер собирал данные круглосуточно с чистого IP, а вы лишь забирали результат — быстро, стабильно и ответственно по отношению к целевым сайтам.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Шаг 1. Выбор сервера и первое подключение
Начните с выбора конфигурации под тип парсинга. Если целевые сайты отдают данные прямо в HTML и хватит HTTP-запросов — берите лёгкий сервер на 1–2 ядра и 2 ГБ памяти. Если контент подгружается через JavaScript и нужен безголовый браузер — сразу закладывайте 4 ГБ и несколько ядер. Локацию выбирайте ближе к целевым сайтам ради скорости и под нужный регион контента. У MAATRIX сервер идёт с чистым выделенным IP, оплата картой РФ, по СБП, криптой или токеном MAAT, выдача за минуты.
Прежде чем нырять в команды, коротко о том, что мы собираем. Итоговый сервер будет самостоятельно, по расписанию обходить нужные страницы, забирать с них данные, раскладывать результат в хранилище и делать это со своего чистого выделенного адреса, а не с вашего домашнего. Смысл затеи в том, чтобы снять монотонную сетевую работу с вашей машины: она больше не занята сутками, а ваш IP не светится на целевых сайтах и не рискует попасть в бан. Ниже мы поднимем среду, поставим инструменты сбора, настроим вежливое поведение к сайтам и хранение, а затем повесим всё на расписание.
Возьмите свежую Ubuntu и подключитесь по SSH. Первым делом обновите систему и поставьте базовую защиту — вход по ключу и фаервол с открытым SSH:
apt update && apt upgrade -y
ufw allow 22/tcp && ufw enable
Шаг 2. Установка среды сбора
Самый распространённый инструментарий для скрейпинга — Python с библиотеками для запросов и разбора HTML. Поставьте Python и менеджер пакетов, а сами библиотеки устанавливайте в виртуальное окружение, чтобы не конфликтовать с системным Python — на свежей Ubuntu это ещё и обходит защиту externally-managed:
apt install -y python3 python3-venv python3-pip
python3 -m venv ~/parser-env
source ~/parser-env/bin/activate
pip install requests beautifulsoup4 lxml
Виртуальное окружение изолирует зависимости вашего парсера от системы — это чистый и правильный подход. В нём вы установите нужные библиотеки: для отправки запросов, для разбора HTML, для работы с данными. Если предпочитаете Node.js, логика та же: ставите среду и библиотеки сбора. Такой набор покрывает большинство задач простого HTTP-парсинга без запуска браузера.
Стоит пояснить, почему на свежей Ubuntu не стоит ставить библиотеки прямо в систему. Начиная с этого релиза, попытка установить пакет Python в системное окружение завершается ошибкой externally-managed: дистрибутив защищает свой Python от конфликтов с пакетами, которыми управляет apt. Виртуальное окружение решает это чисто — библиотеки живут отдельно и не мешают системе, а вы в любой момент можете удалить окружение целиком, не оставляя следов. Не пытайтесь обойти защиту принудительной установкой в систему: это рано или поздно приведёт к конфликтам пакетов и поломке системных утилит, зависящих от того же Python.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS для парсингаШаг 3. Безголовый браузер, если нужен рендеринг
Если целевой сайт отдаёт контент только после выполнения JavaScript, простых запросов недостаточно — нужен безголовый браузер, который полностью загружает страницу. Его удобнее ставить в Docker, чтобы не тянуть в систему тяжёлые зависимости браузера:
curl -fsSL https://get.docker.com | sh
В контейнере запускается связка из безголового браузера и библиотеки управления им, которая эмулирует полноценную загрузку страницы и отдаёт вам итоговый HTML уже после работы скриптов. Помните, что этот путь заметно прожорливее по памяти: каждый экземпляр браузера потребляет сотни мегабайт, поэтому не запускайте слишком много параллельных вкладок на слабом сервере. Если рендеринг JavaScript не нужен, пропустите этот шаг — HTTP-запросы легче и быстрее.
Шаг 4. Скрипт сбора и вежливость к сайтам
Загрузите на сервер свой скрипт сбора или напишите его. Ключевой момент, который отличает грамотный скрейпинг от вредного, — вежливость к целевым сайтам. Заложите в скрипт разумные задержки между запросами, чтобы не создавать сайту нагрузку, сравнимую с атакой, и обработку ошибок, чтобы переживать временные сбои без падения всего сбора.
Уважайте правила сайтов: проверяйте файл robots и не собирайте то, что собирать не следует. Разумная частота запросов — это не только этика, но и практика: агрессивный сбор быстрее приводит к блокировке вашего IP. Задавайте адекватный заголовок клиента и не маскируйтесь под то, чем не являетесь. Ответственный парсинг собирает данные, не мешая работе чужого ресурса, — и именно он устойчив в долгую, потому что не провоцирует защиту сайта на жёсткие меры против вас.
Шаг 5. Хранение результатов
Собранные данные нужно куда-то складывать. Для небольших объёмов подойдут файлы — CSV или JSON прямо на сервере. Для больших и структурированных данных удобнее база данных: поставьте, например, PostgreSQL или SQLite и пишите результаты туда. База упрощает последующую выборку, дедупликацию и обновление данных:
apt install -y postgresql
Продумайте структуру хранения заранее: какие поля собираете, как отличаете новые записи от уже собранных, как обновляете изменившиеся. Хорошо спроектированное хранилище избавляет от повторного сбора одних и тех же данных и позволяет докачивать только новое. Если объёмы растут, следите за местом на диске — при долгом сборе данные накапливаются, и диск стоит брать с запасом или расширять по мере роста.
Шаг 6. Запуск по расписанию и обслуживание
Для регулярного сбора поставьте парсер в cron, чтобы он запускался по расписанию сам, без вашего участия. Укажите полный путь к окружению и скрипту и перенаправьте вывод в лог, чтобы видеть результат и ошибки:
0 3 * * * /home/user/parser-env/bin/python /home/user/parser.py >> /var/log/parser.log 2>&1
Логирование обязательно: без него вы не узнаете, отработал ли сбор и что пошло не так. Проверьте первый запуск вручную, прежде чем доверять расписанию. Следите за нагрузкой — если браузерный скрейпинг упирается в память, а сбор замедляется, это сигнал нарастить конфигурацию; у MAATRIX это делается без переезда. Периодически проверяйте, что целевые сайты не изменили структуру страниц, — иначе парсер начнёт собирать пустоту. Так с нуля собирается сервер, который парсит данные круглосуточно, вежливо к сайтам и с чистого выделенного адреса.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS для парсингаОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
С чего начать настройку сервера под парсинг?
С выбора конфигурации под тип сбора и первого подключения по SSH, затем защита и установка среды. Для HTTP-парсинга — лёгкий сервер, для браузерного — помощнее.
Как ставить библиотеки на Ubuntu 24.04?
В виртуальное окружение Python через venv — это изолирует зависимости и обходит защиту системного Python externally-managed. Браузер удобно ставить в Docker.
Как парсить вежливо и не попасть в бан?
Закладывайте разумные задержки между запросами, уважайте robots и правила сайтов, задавайте адекватный заголовок клиента. Агрессивный сбор быстро приводит к блокировке IP.
Как запускать сбор автоматически?
Поставьте парсер в cron с полными путями и перенаправлением вывода в лог. Проверьте первый запуск вручную, прежде чем доверять расписанию.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.