Как собирать данные о трендах Pinterest для исследований в сфере электронной коммерции
Pinterest — это кладезь сигналов спроса и одна из более сложных целей, так как на странице нет JSON. Вот как рендерить, выбирать пины, следить за трендами и избегать блокировки в безголовом режиме.
Pinterest — это двигатель сигналов спроса: то, что люди сохраняют сейчас, предсказывает, что они купят в следующем сезоне, что делает его пины, доски и поисковые подсказки действительно полезными для исследований в сфере электронной коммерции и контента. Это также одна из более сложных целей, так как, в отличие от большинства торговых площадок, он не предоставляет структурированные данные на странице. Все рендерится динамически, и нет аккуратного JSON, который можно извлечь с помощью регулярных выражений. Это значит, что сначала нужно рендерить, а затем читать DOM. Это руководство охватывает метод рендеринга и выбора, как добывать сигналы трендов и ключевых слов, а также выбор прокси и заголовков, которые помогут избежать блокировки в безголовом режиме. Работайте в рамках условий Pinterest и придерживайтесь публичных данных.
Почему трюк с скрытым JSON здесь не работает
На многих сайтах данные находятся в переменной JavaScript в исходном коде, поэтому достаточно одного простого запроса и регулярного выражения. Pinterest генерирует весь свой контент на стороне клиента и не оставляет эти структуры на странице. Если вы скачаете сырой HTML, пины в нем отсутствуют — они добавляются после выполнения JavaScript. Поэтому надежный подход — это безголовый браузер (Playwright работает хорошо), который загружает страницу, ждет контент, а затем извлекает из живого DOM. Пины глубоко вложены, но последовательно отмечены: каждый находится внутри div с data-test-id="pinWrapper", что является более стабильной точкой привязки, чем хешированное имя класса.
Рендеринг и выбор пинов
Самая важная деталь: установите реальный User-Agent для настольного компьютера. В безголовом режиме Pinterest блокирует стандартный автоматизированный UA, и замена его на обычную строку Chrome часто является разницей между пустым списком и полной страницей пинов. Загрузите URL поиска, дайте контенту время на рендеринг, затем запросите все обертки пинов и извлеките заголовок, URL и миниатюру из каждого:
import asyncio, json
from playwright.async_api import async_playwright
UA = ("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
"(KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36")
PROXY = {"server": "http://gate.quantumproxies.io:8000",
"username": "USER", "password": "PASS"}
async def scrape_pins(query):
url = f"https://www.pinterest.com/search/pins/?q={query}&rs=typed"
results = []
async with async_playwright() as p:
browser = await p.chromium.launch(proxy=PROXY)
page = await browser.new_page(user_agent=UA) # real UA is mandatory
await page.goto(url, timeout=30000)
await page.wait_for_timeout(2500) # let pins render
pins = await page.query_selector_all("div[data-test-id='pinWrapper']")
for pin in pins:
link = await pin.query_selector("a")
if not link:
continue
img = await link.query_selector("img")
results.append({
"title": await link.get_attribute("aria-label"),
"url": await link.get_attribute("href"),
"img": await img.get_attribute("src") if img else None,
})
await browser.close()
return results
pins = asyncio.run(scrape_pins("minimalist home office"))
print(len(pins), "pins")
Это дает основные элементы для работы с трендами: заголовок пина (который является богатым, описательным текстом, написанным самими пользователями), целевой URL и миниатюру. Прокрутите страницу в цикле перед выбором, если хотите больше, чем первый видимый экран — Pinterest загружает контент по мере прокрутки.

От пинов к сигналам трендов
Сырые пины — это только первый шаг. Ценность исследования заключается в их агрегации в сигналы, на которые может опираться ваша команда по мерчендайзингу или контенту:
- Расширение ключевых слов — автозаполнение поиска Pinterest показывает фразы, которые действительно используют покупатели; захватывайте предложения для исходного термина, чтобы создать словарь контента и тегов продуктов.
- Извлечение досок — доска — это тщательно подобранная коллекция вокруг темы; сбор пинов на досках с большим количеством подписчиков показывает, что сохраняется вместе прямо сейчас.
- Частота описательных текстов — заголовки
aria-labelнасыщены ключевыми словами; подсчет повторяющихся терминов в поиске раскрывает язык и эстетику, которые движут нишей. - Сезонность — повторяйте те же поиски еженедельно и сравнивайте результаты, чтобы уловить поднимающиеся темы до их пика, что и является основной целью использования Pinterest как ведущего индикатора.
Поскольку эти сигналы наиболее сильны при сравнении рынков, геотаргетируйте выходной IP: то, что показывается покупателю из США, отличается от того, что видит покупатель из Великобритании или Германии, и этот разрыв часто является возможностью. Направляйте каждый запуск через резидентский прокси, специфичный для страны, и сохраняйте рынок вместе с данными.
Один практический совет для работы с трендами: захватывайте те же поиски с фиксированной еженедельной периодичностью и сохраняйте каждый снимок, а не перезаписывайте. Количество пинов для "кухни в стиле коттеджкор" ничего не значит в изоляции, но растущая линия за восемь недель — это настоящий ведущий индикатор — сохранения на Pinterest предшествуют покупкам, поэтому тема, набирающая обороты на платформе сейчас, является сигналом для мерчендайзинга на следующий квартал. Сравнение тривиально, как только у вас есть последовательные снимки; дисциплина заключается в их надежном сборе, что именно там, где чистые IP и стабильный селектор окупаются.
Поддержание безголового режима
Pinterest следит за автоматизацией, поэтому браузер на IP-адресе датацентра с роботизированным отпечатком быстро помечается. Три привычки поддерживают сессии здоровыми: согласованный реальный User-Agent (уже рассмотрено), свежий ротационный резидентский IP для каждой сессии, чтобы один адрес не был связан с десятками поисков, и человеческое темпо — короткое ожидание после загрузки, плавная прокрутка, отсутствие тысяч запросов за раз. Наше руководство по сбору данных с сайтов с тяжелым JavaScript подробно рассматривает комбинацию рендеринга и прокси, и те же методы предотвращения блокировки применимы к другим социальным платформам — см. сбор данных с публичных страниц Instagram для аналогии.
Получите резидентские IP, созданные для сбора данных с социальных сетей
Когда флот браузеров перестает быть выгодным
Рендеринг каждой страницы медленный и дорогой — безголовый браузер стоит на порядок дороже за страницу, чем простой запрос как по времени, так и по пропускной способности. В масштабе исследований это накапливается. Scraper API, который рендерит по запросу и возвращает структурированные данные, позволяет вам обойти флот браузеров, ротацию прокси и обработку блокировок, чтобы вы тратили время на анализ, а не на обслуживание. Он также извлекает более богатые поля — количество подписчиков, сохранений и комментариев, категории и хэштеги — которые быстрая выборка DOM оставляет в стороне.

Часто задаваемые вопросы
Как собрать данные с Pinterest с помощью Python?
Используйте безголовый браузер, такой как Playwright, а не простые запросы, потому что Pinterest рендерит контент с помощью JavaScript и не оставляет данных в сыром HTML. Установите реальный User-Agent для настольного компьютера, загрузите URL поиска или доски, дождитесь рендеринга пинов, затем выберите каждый div[data-test-id="pinWrapper"] и прочтите заголовок, URL и изображение из каждого.
Есть ли у Pinterest публичный API?
Pinterest предлагает официальный API для бизнес- и разработческих аккаунтов, но он ограничен, имеет лимиты по скорости и ориентирован на управление вашим собственным контентом и рекламой, а не на широкие исследования трендов по всей сети. Для публичных данных о пинах, досках и поисковых трендах по нишам и рынкам большинство исследователей рендерят публичные страницы.
Почему Pinterest блокирует мой скрейпер?
Две наиболее распространенные причины — это стандартный безголовый User-Agent, который Pinterest блокирует сразу, и IP-адрес датацентра, связанный с множеством быстрых запросов. Исправьте оба: отправляйте обычный UA Chrome, ротируйте резидентский IP для каждой сессии и темпируйте запросы с ожиданиями и прокруткой, а не запускайте их сериями.
Является ли сбор данных с Pinterest легальным?
Сбор общедоступных данных находится в правовой серой зоне и зависит от юрисдикции, цели и условий использования Pinterest. Придерживайтесь публичных пинов и досок, избегайте личных данных и всего, что находится за логином, и проконсультируйтесь с юристом для коммерческого использования. Это общая информация, а не юридическая консультация.
Pinterest вознаграждает терпение: рендерьте страницу, нацеливайтесь на стабильные обертки пинов, агрегируйте описательные заголовки и поисковые подсказки в сигналы трендов и держите свой отпечаток и IP чистыми. Делайте это по рынкам, и вы получите ведущий индикатор спроса, который большинство конкурентов не отслеживают.