---
title: "Comment gratter Pinterest en 2026"
slug: how-to-scrape-pinterest
date: 2025-06-09T11:59:28+00:00
modified: 2025-11-04T08:49:32+00:00
permalink: https://brightdata.fr/blog/donnees-web/how-to-scrape-pinterest
type: blog
---

[ Blog ](https://brightdata.fr/blog "Blog") / [Données Web](https://brightdata.fr/blog/donnees-web)







 [Données Web](https://brightdata.fr/blog/donnees-web)

# Comment gratter Pinterest en 2026

Apprenez à extraire des données dynamiques de Pinterest à l’aide de Python, de navigateurs sans tête et d’API de scraper automatisées pour obtenir des résultats rapides et évolutifs.

 10 min de lecture





 [ ![Jacob Nulty](https://media.brightdata.fr/2024/12/Jacob-Nulty-50x50.jpg) ](https://brightdata.com/blog/authors/jake-nulty)

 [Jake Nulty

Technical Writer

 ](https://brightdata.com/blog/authors/jake-nulty)





 ![How to Scrape Pinterest blog image](https://media.brightdata.fr/2025/02/How-to-Scrape-Pinterest.svg)





L’extraction de données de [Pinterest](https://www.pinterest.com/) est différente de la plupart des [travaux de scraping HTML](/blog/savoir-faire/html-web-scraping). Pinterest génère tout son contenu de manière dynamique et ne laisse aucune de ses structures de données, comme JSON, sur la page.

Si vous décidez de suivre, vous apprendrez à collecter des données Pinterest à l’aide des méthodes suivantes :

- Extraire les données de Pinterest avec Playwright
- Extraire des données de Pinterest avec l’API Scraper de Bright Data

## <a></a>Que pouvez-vous extraire ?

Si vous regardez Pinterest dans votre navigateur, toutes les épingles sont profondément imbriquées dans un élément `div` avec `data-test-id="pinWrapper"`.

![Inspecter la goupille](https://media.brightdata.com/2025/02/Inspect-Pin.png)Si nous parvenons à trouver tous ces objets sur la page, nous pouvons extraire toutes leurs données, par exemple :

- Le titre de chaque épingle.
- L’adresse URL pointant directement vers l’épingle.
- L’image de l’épingle dans les résultats de la recherche.

## <a></a>Scraping Pinterest avec un auteur de pièces de théâtre

### <a></a>Pour commencer

Il existe de nombreuses [bibliothèques de scraping en Python](/blog/donnees-web/python-web-scraping-libraries), et nous utiliserons Playwright. Tout d’abord, vous devez vous assurer que Playwright est installé. Vous pouvez consulter leur documentation [ici](https://playwright.dev/python/docs/intro). Playwright est l’un des meilleurs [navigateurs sans tête](/blog/donnees-web/best-headless-browsers) disponibles.

#### <a></a>Installer un dramaturge

```none
pip install playwright

```

#### <a></a>Installer les navigateurs de Playwright

```none
playwright install

```

### <a></a>Grattage des épingles actuelles

Voyons maintenant comment récupérer les épingles de Pinterest. Dans le code ci-dessous, nous créons deux fonctions, `scrape_pins()` et `main()`. `scrape_pins()` ouvre un navigateur et extrait les données de Pinterest. `main()` est utilisé comme point d’entrée pour le runtime asynchrone.

```none
import asyncio
from playwright.async_api import async_playwright
import json

user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"

async def scrape_pins(query):
    search_url = f"https://www.pinterest.com/search/pins/?q={query}&rs=typed"
    scraped_data = []

    async with async_playwright() as p:
        browser = await p.chromium.launch()
        page = await browser.new_page(user_agent=user_agent)
        response = await page.goto(search_url)
        await asyncio.sleep(2)
        try:
            #find the pins on the page
            pins = await page.query_selector_all("div[data-test-id='pinWrapper']")

            #iterate through the pins and extract data
            for pin in pins:
                title_link = await pin.query_selector("a")
                pin_url = await title_link.get_attribute("href")
                title = await title_link.get_attribute("aria-label")
                img = await title_link.query_selector("img")
                img_src = await img.get_attribute("src")

                extracted_data = {
                    "title": title,
                    "url": pin_url,
                    "img": img_src
                }
                #add the data to our results
                scraped_data.append(extracted_data)
        except:
            print(f"Failed to scrape pins at {search_url}")
        finally:
            await browser.close()
    #everything has finished, return our scraped data
    return scraped_data

async def main():
    search_query = "office"
    office_results = await scrape_pins(search_query)

    with open(f"{search_query}-results.json", "w") as file:
        try:
            json.dump(office_results, file, indent=4)
        except Exception as e:
            print(f"Failed to save results: {e}")

if __name__ == "__main__":
    asyncio.run(main())

```

`scrape_pins()` effectue les étapes suivantes au cours de notre recherche :

- Créer notre url : `search_url.`
- Créer un tableau pour contenir nos résultats, `scraped_data`.
- Ouvrez un nouveau navigateur.
- Définissez un `user_agent` personnalisé afin de fonctionner en mode headless. Sans cela, Pinterest nous bloquera.
- Nous attendons deux secondes pour que le contenu se charge avec `asyncio.sleep(2)`.
- Nous trouvons toutes les épingles visibles sur la page à l’aide de ce sélecteur : `div[data-test-id='pinWrapper']`.
- Pour chaque broche, nous extrayons les données suivantes :
    - `titre`: Le titre de l’épingle.
    - `url`: L’url menant directement à l’épingle.
    - `img`: L’image de l’épingle affichée dans les résultats de la recherche.

Voici quelques exemples de données provenant du scraper Playwright ci-dessus.

```none
[
    {
        "title": "A minimalist office featuring a soothing color palette of whites, greys, and natural wood accents, creating a calm and spacious feel3",
        "url": "/pin/10203536650743650/",
        "img": "https://i.pinimg.com/236x/b3/21/e2/b321e2485da40c0dde2685c3a4fdcb56.jpg"
    },
    {
        "title": "a home office with two desks and an open door that leads to the outside",
        "url": "/pin/261912534574291013/",
        "img": "https://i.pinimg.com/236x/56/f1/29/56f129512885e1b3c9971b16f9445c9a.jpg"
    },
    {
        "title": "home office decor, blakc home office, dark home office, moody home office, small home office",
        "url": "/pin/60094976273327121/",
        "img": "https://i.pinimg.com/236x/ba/75/c9/ba75c9be7e635cce3ee80acdf70d6f9f.jpg"
    },
    {
        "title": "an office with a desk, chair and bookshelf in the middle of it",
        "url": "/pin/599682506666665720/",
        "img": "https://i.pinimg.com/236x/57/66/1d/57661dc80bebda3dfe946c070ee8ed13.jpg"
    },
    {
        "title": "a home office with green walls and plants on the shelves, along with a computer desk",
        "url": "/pin/1147080967585091410/",
        "img": "https://i.pinimg.com/236x/ce/e8/b7/cee8b74151b29605a80e0f61898c249d.jpg"
    },

```

## <a></a>Scraper Pinterest avec l’API Bright Data Scraper

Avec notre [API Pinterest Scraper](/products/web-scraper/pinterest), vous pouvez complètement automatiser ce processus et vous n’avez pas à vous soucier des navigateurs sans tête, des sélecteurs ou de quoi que ce soit d’autre !

![Bright Data Pinterest Scraper](https://media.brightdata.com/2025/02/Bright-Data-Pinterest-Scraper-1024x515.png)Assurez-vous que [Python Requests](/blog/donnees-web/python-requests-guide) est installé.

#### <a></a>Demandes d’installation

```none
pip install requests

```

Une fois que vous avez configuré votre appel API, vous pouvez le déclencher à partir de Python. Ci-dessous, nous avons également deux fonctions : `get_pins()` et `poll_and_retrieve_snapshot()`.

- `get_pins()`: Cette fonction prend un `mot clé` ainsi que votre `clé api`. Elle crée et envoie ensuite une requête à notre API de scraper. Cette requête déclenche un scrape de Pinterest pour le mot-clé désiré.
- `poll_and_retrieve_snapshot()` prend votre `clé d'api` et l’`identifiant de l'instantané`. Elle vérifie ensuite toutes les 10 secondes si l’instantané est prêt. Une fois que l’instantané est prêt, les données sont téléchargées et nous quittons la fonction.

```none
import requests
import json
import time

#function to trigger the scrape
def get_pins(api_key, keyword):
    url = "https://api.brightdata.com/datasets/v3/trigger"
    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    }
    params = {
        "dataset_id": "gd_lk0sjs4d21kdr7cnlv",
        "include_errors": "true",
        "type": "discover_new",
        "discover_by": "keyword",
    }
    data = [
        {"keyword":keyword},
    ]
    #trigger the scrape
    response = requests.post(url, headers=headers, params=params, json=data)
    #return the snapshot_id
    return response.json()["snapshot_id"]

def poll_and_retrieve_snapshot(api_key, snapshot_id, output_file="snapshot-data.json"):
    #create the snapshot url
    snapshot_url = f"https://api.brightdata.com/datasets/v3/snapshot/{snapshot_id}?format=json"
    headers = {
        "Authorization": f"Bearer {api_key}"
    }

    print(f"Polling snapshot for ID: {snapshot_id}...")

    while True:
        response = requests.get(snapshot_url, headers=headers)

        if response.status_code == 200:
            print("Snapshot is ready. Downloading...")
            snapshot_data = response.json()
            #write the snapshot to a new json file
            with open(output_file, "w", encoding="utf-8") as file:
                json.dump(snapshot_data, file, indent=4)
            print(f"Snapshot saved to {output_file}")
            break
        elif response.status_code == 202:
            print("Snapshot is not ready yet. Retrying in 10 seconds...")
        else:
            print(f"Error: {response.status_code}")
            print(response.text)
            break

        time.sleep(10)

if __name__ == "__main__":

    API_KEY = "YOUR-BRIGHT-DATA-API-KEY"
    KEYWORD = "office"

    snapshot_id = get_pins(API_KEY, KEYWORD)
    poll_and_retrieve_snapshot(API_KEY, snapshot_id)

```

Voici quelques exemples de données provenant du fichier téléchargé. Étant donné que notre demande de déclenchement comportait l’`option "include_errors" : "true"`, le fichier comprend également les épingles contenant des erreurs. L’échantillon de données ci-dessous comprend deux broches d’erreur ainsi que deux broches avec des données correctes.

```none
[
    {
        "post_type": null,
        "timestamp": "2026-02-17T15:26:17.248Z",
        "input": {
            "url": "https://www.pinterest.com/pin/jh46IGe2",
            "discovery_input": {
                "keyword": "office"
            }
        },
        "warning": "Bad input. Wrong id!",
        "warning_code": "dead_page",
        "discovery_input": {
            "keyword": "office"
        }
    },
    {
        "post_type": null,
        "timestamp": "2026-02-17T15:26:18.757Z",
        "input": {
            "url": "https://www.pinterest.com/pin/4471026676503806548",
            "discovery_input": {
                "keyword": "office"
            }
        },
        "warning": "Bad input. Page does not exist.",
        "warning_code": "dead_page",
        "discovery_input": {
            "keyword": "office"
        }
    },
    {
        "url": "https://www.pinterest.com/pin/929782285570058239",
        "post_id": "929782285570058239",
        "title": "Essential Tips for Designing a Functional Small Office Space: Maximize Efficiency",
        "content": "17 Smart Tips for Designing a Productive Small Office Space",
        "date_posted": "2026-02-06T15:00:47.000Z",
        "user_name": "wellnesswink",
        "user_url": "https://www.pinterest.com/wellnesswink",
        "user_id": "929782422978147260",
        "followers": 232,
        "likes": 0,
        "categories": [
            "Explore",
            "Home Decor"
        ],
        "attached_files": [
            "https://i.pinimg.com/originals/c8/c0/d5/c8c0d5fb45352e40535db4510049a142.jpg"
        ],
        "image_video_url": "https://i.pinimg.com/originals/c8/c0/d5/c8c0d5fb45352e40535db4510049a142.jpg",
        "video_length": 0,
        "post_type": "image",
        "comments_num": 0,
        "discovery_input": {
            "keyword": "office"
        },
        "timestamp": "2026-02-17T15:26:19.502Z",
        "input": {
            "url": "https://www.pinterest.com/pin/929782285570058239",
            "discovery_input": {
                "keyword": "office"
            }
        }
    },
    {
        "url": "https://www.pinterest.com/pin/889812838892568569",
        "post_id": "889812838892568569",
        "title": "20 Modern Masculine Home Office Design Ideas for Men",
        "content": "Explore 25 chic home office decor ideas that blend style and functionality. Create a workspace you love and boost your productivity effortlessly!",
        "date_posted": "2026-01-27T07:11:38.000Z",
        "user_name": "artfullhouses",
        "user_url": "https://www.pinterest.com/artfullhouses",
        "user_id": "889812976285233957",
        "followers": 10,
        "likes": 0,
        "categories": [
            "Explore",
            "Home Decor"
        ],
        "attached_files": [
            "https://i.pinimg.com/originals/f1/cb/f7/f1cbf7b127db2bef2306ba19ffcc0646.png"
        ],
        "image_video_url": "https://i.pinimg.com/originals/f1/cb/f7/f1cbf7b127db2bef2306ba19ffcc0646.png",
        "video_length": 0,
        "hashtags": [
            "Mens Desk Decor",
            "Chic Home Office Decor",
            "Mens Desk",
            "Home Office Ideas For Men",
            "Office Ideas For Men",
            "Masculine Home Office Ideas",
            "Masculine Home Office",
            "Masculine Home",
            "Chic Home Office"
        ],
        "post_type": "image",
        "comments_num": 0,
        "discovery_input": {
            "keyword": "office"
        },
        "timestamp": "2026-02-17T15:26:20.069Z",
        "input": {
            "url": "https://www.pinterest.com/pin/889812838892568569",
            "discovery_input": {
                "keyword": "office"
            }
        }
    },

```

Comme vous pouvez le constater, l’API Scraper recueille beaucoup plus de données que le scraper initial que nous avons construit avec Playwright. Notre API [explore](/blog/savoir-faire/web-crawling-with-python) Pinterest à la recherche de votre `mot-clé`, puis récupère toutes les épingles individuelles qu’elle trouve au cours de l’exploration.

La commodité n’est pas le seul avantage de cette approche. Notre API Pinterest Scraper extrait vos données à un coût extrêmement bas. Notre fichier de résultats total comptait près de 45 000 lignes et n’a coûté que 0,97 $ à générer.

![Coût du scrape Pinterest](https://media.brightdata.com/2025/02/Pinterest-Scrape-Cost.png)Engager quelqu’un pour construire un scraper de la même qualité coûterait probablement plusieurs centaines de dollars et vous devriez attendre des jours pour obtenir vos données. Avec notre API Scraper, vous obtenez vos données en quelques minutes pour une fraction du coût.

## <a></a>Conclusion

Extraire des données de Pinterest ne doit pas être difficile. Que vous construisiez votre propre scraper à l’aide de [Playwright](/blog/savoir-faire/playwright-web-scraping) ou que vous optiez pour une solution entièrement automatisée comme notre Pinterest Scraper, la bonne approche dépend de vos besoins.

Pour une extraction rapide, fiable et évolutive des données Pinterest, l’[API Scraper de Bright Data](/products/web-scraper) élimine les problèmes liés à la gestion des navigateurs sans tête, des proxies et des CAPTCHA, et fournit des données structurées sans effort.

✅ **Des résultats plus rapides** – Obtenez des données en quelques minutes, et non en quelques heures
✅ **Rentabilité** – Ne payez que pour ce que vous extrayez
**Pas de maintenance** – Évitez de traiter les demandes bloquées

Commencez votre essai gratuit dès aujourd’hui et rationalisez votre scraping Pinterest avec l’API Web Scraper de Bright Data !



Contacter ventesEssai gratuit![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Table des matières







Dedicated Scraper APIs &amp; No-Code Scrapers

Over 1000 scrapers for all popular domains. Simplify your web scraping.

[See pricing](/pricing/web-scraper "See pricing")

Just want data? Skip scraping.

Hundreds of ready-to-use datasets from all popular domains.

[See pricing](/pricing/datasets "See pricing")







 [ ](https://news.ycombinator.com/submitlink?t=Comment+gratter+Pinterest+en+2026&u=https://brightdata.fr/blog/donnees-web/how-to-scrape-pinterest) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Comment+gratter+Pinterest+en+2026&url=https://brightdata.fr/blog/donnees-web/how-to-scrape-pinterest) [ ](http://www.reddit.com/submit?title=Comment+gratter+Pinterest+en+2026&url=https://brightdata.fr/blog/donnees-web/how-to-scrape-pinterest)







##  Vous pourriez aussi être intéressé par

 [ ![OpenHuman with Bright Data](https://media.brightdata.fr/2026/09/OpenHuman-with-Bright-Data.png) ](https://brightdata.fr/blog/ai/openhuman-with-bright-data "Accès Web Prêt pour la Production dans OpenHuman via le CLI Bright Data")

 [AI



 ![Antonello Zanini](https://media.brightdata.fr/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Accès Web Prêt pour la Production dans OpenHuman via le CLI Bright Data

Intégrez le CLI Bright Data avec OpenHuman pour permettre un accès web prêt pour la production et la collecte de données pour les agents IA.



 09-Sep-2026

 14 min de lecture

 ](https://brightdata.fr/blog/ai/openhuman-with-bright-data)

 [ ![Multimodal Web Scraping with MiniMax](https://media.brightdata.fr/2026/09/Multimodal-Web-Scraping-with-MiniMax.png) ](https://brightdata.fr/blog/donnees-web/multimodal-web-scraping-with-minimax "Scraping Web Multimodal avec MiniMax")

 [Données Web



 ![Antonello Zanini](https://media.brightdata.fr/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Scraping Web Multimodal avec MiniMax

Associez Bright Data Web Unlocker avec la vision MiniMax M3 pour extraire des données structurées à partir d’images et de captures d’écran de pages web.



 09-Sep-2026

 5 min de lecture

 ](https://brightdata.fr/blog/donnees-web/multimodal-web-scraping-with-minimax)

 [ ![The 10 Best CLI Tools for Codex in 2026](https://media.brightdata.fr/2026/08/The-10-Best-CLI-Tools-for-Codex-in-2026.png) ](https://brightdata.fr/blog/ai/best-cli-tools-for-codex "Les 10 meilleurs outils CLI pour Codex en 2026 – Testés & Classés")

 [AI



 ![Daniel Shashko](https://media.brightdata.fr/2022/04/Daniel-Shashko-2-50x50.png)

Daniel Shashko

Web Data &amp; AI Expert





### Les 10 meilleurs outils CLI pour Codex en 2026 – Testés &amp; Classés

Les 10 outils CLI qui rendent Codex plus rapide et plus capable, en commençant par le Bright Data CLI pour un accès web réel depuis l’intérieur du sandbox.



 06-Sep-2026

 24 min de lecture

 ](https://brightdata.fr/blog/ai/best-cli-tools-for-codex)
