Як виконувати вебскрапінг Pinterest

Як виконувати вебскрапінг Pinterest у 2026 році

У цій статті я покажу вам два прості способи зібрати дані з Pinterest. Перший метод використовує Playwright, браузер без інтерфейсу, який дає змогу взаємодіяти з вебсторінками так, ніби ви реальний користувач. Другий метод спирається на API для вебскрапінгу, яке бере на себе все, зокрема CAPTCHAs і динамічне завантаження. Незалежно від того, чи потрібен вам повний контроль, чи швидке автоматизоване рішення, ви знайдете робочий підхід. Почнімо!

Які дані можна витягти з Pinterest?

Під час вебскрапінгу Pinterest ви можете зібрати:

  • Pin Titles — Текст, що описує кожен пін.
  • Pin URLs — Посилання на окремі піни.
  • Pin Images — Зображення, пов’язані з кожним піном.
  • User Information — Дані профілю автора піна.
  • Post Engagement — Лайки, коментарі та поширення.

Вебскрапінг Pinterest за допомогою Playwright

Playwright є потужним інструментом для вебскрапінгу динамічних сайтів. Він дає змогу взаємодіяти зі сторінками, які активно використовують JavaScript, як-от Pinterest.

Крок 1: Встановіть Playwright

Спочатку встановіть Playwright і його браузери:

pip install playwright
playwright install

Крок 2: Напишіть вебскрапер

Наведений нижче Python-скрипт шукає піни на Pinterest і витягує їхні деталі:

import asyncio
from playwright.async_api import async_playwright
import json
async def scrape_pinterest(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(headless=True)
page = await browser.new_page()
await page.goto(url)
await asyncio.sleep(2)
pins = await page.query_selector_all("div[data-test-id='pinWrapper']")
for pin in pins:
title_element = await pin.query_selector("a")
title = await title_element.get_attribute("aria-label") if title_element else "Без назви"
pin_url = await title_element.get_attribute("href") if title_element else "Немає URL"
image_element = await pin.query_selector("img")
image_url = await image_element.get_attribute("src") if image_element else «Немає зображення»
results.append({"title": заголовок, "url": pin_url, "image": image_url})
await browser.close()
return results
async def main():
query = "декор для дому"
data = await scrape_pinterest(query)
with open(f"{query}_pins.json", "w") as file:
json.dump(data, file, indent=4)
if __name__ == "__main__":
asyncio.run(main())

How It Works

  1. Відкриває Pinterest і виконує пошук за ключовим словом.
  2. Очікує завантаження сторінки.
  3. Знаходить усі піни на сторінці.
  4. Витягує заголовок, URL і зображення для кожного піна.
  5. Зберігає дані у JSON-файл.

Цей метод корисний, але його можуть заблокувати, якщо Pinterest виявить автоматизований вебскрапінг.

Вебскрапінг Pinterest за допомогою Bright Data’s Scraper API

Bright Data надає API для вебскрапінгу, яке спрощує збирання даних Pinterest без турбот про автоматизацію браузера чи блокування.

Крок 1: Встановіть Requests

pip install requests

Крок 2: Використайте API Bright Data

import requests
import json
import time
API_KEY = "YOUR_API_KEY"
KEYWORD = "декор для дому"
def start_scrape(api_key, keyword):
url = "https://api.brightdata.com/datasets/v3/trigger"
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
data = [{"keyword": keyword}]
response = requests.post(url, headers=headers, json=data)
return response.json().get("snapshot_id")
def get_results(api_key, snapshot_id):
url = f"https://api.brightdata.com/datasets/v3/snapshot/{snapshot_id}?format=json"
headers = {"Authorization": f"Bearer {api_key}"}
while True:
response = requests.get(url, headers=headers)
if response.status_code == 200:
with open("pinterest_data.json", "w") as file:
json.dump(response.json(), file, indent=4)
print("Дані збережено!")
break
elif response.status_code == 202:
print(«Очікування даних…»)
time.sleep(10)
else:
print("Помилка:", response.text)
break
if __name__ == "__main__":
snapshot_id = start_scrape(API_KEY, KEYWORD)
get_results(API_KEY, snapshot_id)

How It Works

  1. Надсилає запит до Bright Data, щоб розпочати вебскрапінг.
  2. Очікує, доки дані буде оброблено.
  3. Завантажує та зберігає результати.

API від Bright Data надійний, швидкий і допомагає обходити блокування Pinterest. Перегляньте усі інші провідні API для вебскрапінгу.

Який метод варто використати?

Conclusion

Вебскрапінг Pinterest цілком можливий, якщо у вас є правильні інструменти. Якщо вам потрібен повний контроль і ви не проти долати кілька перешкод, Playwright є чудовим вибором. Він дає змогу взаємодіяти з Pinterest так само, як це робить звичайний користувач, але ви можете натрапити на блокування.

Якщо вам потрібне щось простіше й надійніше, API від Bright Data — найкращий вибір. Воно візьме все на себе — без роботи з CAPTCHA чи заблокованими запитами.

Обидва методи допоможуть вам збирати дані Pinterest для досліджень, маркетингу або створення контенту. Усе зводиться до того, що працює найкраще саме для вас. Оберіть підхід, який відповідає вашим потребам, і починайте вебскрапінг!

Схожі записи