# Аня Кубоу: «Как создать скрейпер для любых видео»

Источник: https://www.youtube.com/watch?v=j6hnjNhx_MM
Канал: freeCodeCamp.org
Опубликовано: 08.06.2026

---

Веб-скрейпинг — это мощный инструмент для сбора данных, анализа конкурентов и автоматизации задач, однако часто процесс осложняется защитой от ботов, CAPTCHA и ограничениями скорости запросов. Аня Кубоу (Ania Kubow) в своем руководстве демонстрирует, как обойти эти препятствия с помощью эффективного API, создавая при этом структурированные данные в формате JSON для дальнейшего использования в проектах.

## 🌐 Введение в API и настройка проекта
[[JUMP:0:00]]

Для создания эффективного скрейпера без необходимости писать сложные скрипты с нуля, прокси-серверами и постоянной отладкой, автор рекомендует использовать **SerpApi**.

### Ключевые шаги настройки:

* **Получение ключа:** Необходимо зарегистрироваться на [SerpApi](https://serpapi.com/google-short-videos-api?utm_source=freecodecamp) для получения персонального API-ключа.
* **Безопасность:** Крайне важно хранить ключ в секрете. Если он попадет в чужие руки, сторонние пользователи могут использовать ваши кредиты или создать значительные расходы на вашем аккаунте.
* **Инициализация:** В терминале создается проект Node.js с помощью команды `npm init`.
* **Установка зависимостей:** Устанавливается пакет `serpapi` командой `npm install serpapi`.

Для проверки работоспособности можно выполнить простой `curl`-запрос в терминале, передав параметр `q` (поисковый запрос) и API-ключ.

## ⚙️ Параметры поиска и дополнительные возможности
[[JUMP:5:04]]

После базовой настройки API позволяет гибко конфигурировать поиск. Аня Кубоу подчеркивает, что все параметры должны строго соответствовать документации.

### Доступные параметры:

* **Локация (`location`):** Позволяет задать географический регион поиска (например, "London, England").
* **Домен Google (`google_domain`):** Указывает домен (например, `google.co.uk`).
* **Язык (`hl`) и страна (`gl`):** Определяют язык интерфейса и страну для результатов поиска.
* **Специализированные API:** SerpApi поддерживает не только поиск в Google, но и API для Amazon, Apple App Store, Bing, DuckDuckGo и YouTube.

Помимо текстового поиска, можно использовать **Google Lens API** для поиска визуальных совпадений по изображению.

## 🏗️ Создание проекта: «Скрейпер коротких видео»
[[JUMP:18:32]]

Финальная часть курса посвящена созданию веб-приложения, которое находит короткие видео (YouTube Shorts, Instagram Reels) и скачивает их локально.

### Стек технологий:

1.  **Back End:** Express.js для маршрутизации (создание эндпоинтов `/search` и `/download`).
2.  **Загрузка видео:** Инструмент `yt-dlp`, который вызывается через модуль `child_process` в Node.js.
3.  **Front End:** Стандартный HTML, CSS и JavaScript для взаимодействия с пользователем.

### Логика работы приложения:

* **Поиск:** Приложение получает запрос пользователя, отправляет его в SerpApi, получает JSON-ответ и отображает список видео с миниатюрами.
* **Скачивание:** Каждая карточка видео имеет кнопку «Download». При нажатии отправляется POST-запрос на бэкенд, который запускает `yt-dlp` для сохранения файла в папку `downloads`.
* **Массовая загрузка:** Реализована функция «Download All», которая циклично перебирает массив найденных видео и загружает каждое из них по очереди.

На финальном этапе Аня Кубоу напоминает о безопасности, предлагая использовать пакет `dotenv` для хранения API-ключа в файле `.env`, который не должен попадать в публичные репозитории GitHub.