Как я собрал миллион строк данных с YouTube за пару часов и превратил это в продукт

Я программист, работаю с разными задачами под клиентов. Однажды ко мне пришёл запрос, который на первый взгляд выглядел довольно простым.

Нужно было собрать базу YouTube-каналов по определённым нишам:- с email-ами
- ссылками
- страной
- подписчиками
- и другими параметрами

Причём не десятки каналов, а тысячи.
Я посмотрел, какие есть варианты:
– Руками через поиск YouTube. 20 каналов в час, если не отвлекаться, полгода на нормальную базу, понятное дело, идея бредовая
– Купить готовую базу. 200-500 баксов за пару тысяч каналов, половина мёртвые, данные полугодовой давности.
– Сервисы типа NoxInfluencer, HypeAuditor. $300-500/мес, и всё равно не то что нужно.

Ни один из этих вариантов меня не устраивал, поэтому я написал свой парсер. Клиент покупал подборки у фрилансеров за конские деньги, а качество было мусорное.

Я подумал, ну ютуб же отдаёт эти данные в поиске, значит можно автоматизировать, сел, написал первый прототип за выходные, и сразу понял - задача сильно глубже, чем казалась.

Официальный YouTube API даёт 10 000 юнитов в день.
Один поисковый запрос стоит примерно 10 юнитов. Вроде нормально - тысяча запросов, но ключи эти банятся, создание ключей дорогое, либо нужно искать место где их продают, плюсом на каждый запрос YouTube отдаёт около 50 результатов, из них 35-45 уникальных после дедупликации.

Проблема в другом, через API ты получаешь голый список, название и ID. Хочешь подписчиков? Ещё запрос. Описание? Ещё. Ссылки и email-ы? Забудь - этого в API вообще нет.

Чтобы собрать 50 000 каналов с полными данными - email-ы, ссылки, страна, дата регистрации - через официальный API нужны недели. Если не упрёшься в лимит раньше.

Мне это не подходило, я решил обойти API и работать с YouTube напрямую, без подробностей - скажу только, что YouTube отдаёт фронтенду гораздо больше данных, чем через публичный API, и если правильно формировать запросы, можно получать всё: подписчиков, описание, ссылки, страну, дату регистрации - за один проход

Но в итоге получилась штука, которая работает так:
Вводишь ключевые слова → запускаешь → идёшь пить кофе.

Через пару часов в базе - десятки тысяч каналов.
По каждому:
– URL
– Название
– Страна
– Подписчики
– Просмотры
– Дата регистрации
– Все ссылки из описания
– Email-ы
– Есть бейдж или нет

Вот реальные цифры с одной сессии:
Ниша Каналов | С email | С бейджем
fitness - 12 400 каналов | 3 100 email | 890 с бейджами
cooking - 8 700 каналов | 2 300 email | 620 с бейджами
top - 15 200 каналов | 4 800 email | 1 100 с бейджами
marketing - 6 300 каналов | 2 900 email | 410 с бейджами
music production - 9 800 каналов | 3 400 email | 780 с бейджами

52 тысячи каналов за 25 минут, с полными данными

Когда показал результат знакомому - первая реакция: "Сколько стоит, если я буду сам запускать?" И тут щёлкнуло, я делал инструмент для одного человека, а проблема - у тысяч

Кому это нужно:
– Рекламодатели - находить блогеров напрямую, без бирж с накрученными ценниками
– Маркетологи - анализировать ниши перед запуском. Сколько каналов, какие страны, кто растёт
– Аутрич-агентства - свежие email-ы для рассылок, а не двухлетние слитые базы
– Владельцы каналов и СЕО специалисты - понять конкуренцию и найти партнёров для коллабов, запуск рекламы

И я решил довести продукт до ума, оценил конкурентов, посмотрел как работает их софт, понял что цена сильно завышена, начал переписывать код, дабы сделать полноценный проект, добавил несколько новых уникальных функций, одна из них "Глубокий парсинг", значительно увеличил скорость парсинга, с 5 тыс каналов в минуту до 13-16 тыс, результат за сессию составил более 1 млн строк, за чуть меньше 2 часов работы парсера

Как я собрал миллион строк данных с YouTube за пару часов и превратил это в продукт

Посчитал экономику:
Если продавать базу как лид-лист - маркетологи платят $50–150 за выборку в 10 000 каналов с email-ами, у меня таких выборок - сотня за одну сессию, но продавать базы - разовая история, интереснее дать инструмент, подписка на парсер: человек сам собирает то, что ему нужно. Любая ниша, любая страна, любые фильтры, свежие данные каждый раз, а не протухшая база данных двухмесячной давности.

Короче, начиналось как «хочу спарсить YouTube» - превратилось в продукт, которым пользуюсь сам каждый день. Сейчас делюсь, потому что обратная связь от живых пользователей двигает продукт быстрее, чем я один в вакууме..

1
Начать дискуссию