🌐 Web ScrapingPro Forfait

SCRAPE_BY_CSS_PATH

Extrait le contenu d'une page web en utilisant un sélecteur CSS.

Signature de la Formule
=SCRAPE_BY_CSS_PATH(url, selector, [attribute], [renderJs])

Retourne : string or 2D array (multiple matches returned as separate rows)

Aperçu

SCRAPE_BY_CSS_PATH extrait le contenu de n'importe quelle page web en utilisant des sélecteurs CSS standard, la même syntaxe de requête utilisée par les développeurs web pour styliser les éléments HTML. Pointez-le vers une URL, fournissez un sélecteur CSS comme ".price", "#title" ou "h1", et il renvoie le contenu texte correspondant directement dans votre feuille de calcul. Lorsque plusieurs éléments correspondent au sélecteur, chaque résultat est renvoyé sur une ligne séparée, ce qui facilite l'extraction de listes complètes de produits, de liens ou de points de données en un seul appel.

Paramètres

ParamètreTypeRequisDescription
urlstringOuiL'URL complète de la page web à extraire (doit inclure https:// ou http://).
selectorstringOuiSélecteur CSS ciblant le(s) élément(s) à extraire. Supporte la syntaxe CSS standard incluant les classes (.class), les IDs (#id), les éléments (h1), les attributs ([data-price]), les combinateurs (div > p) et les pseudo-sélecteurs (li:first-child).
attributestringNonAttribut HTML optionnel à extraire au lieu du contenu texte. Valeurs courantes : "href" (URLs de liens), "src" (sources d'images/scripts), "alt" (texte alternatif d'image), "data-*" (attributs de données personnalisés), "content" (valeurs de balises meta).
renderJsbooleanNonOptionnel. Définir sur TRUE pour rendre JavaScript avant l'extraction. Requis pour les applications monopages et le contenu chargé dynamiquement. Plus lent et utilise plus de crédits que le mode standard.

Exemples

1

Extraire le titre principal d'une page

Renvoie le contenu texte du premier élément h1 de la page. Utile pour vérifier rapidement les titres de page sur une liste d'URLs.

fx
=SCRAPE_BY_CSS_PATH("https://example.com", "h1")

Sortie

Example Domain
2

Obtenir toutes les URLs des liens de navigation

Extrait l'attribut href de chaque balise anchor à l'intérieur d'un élément nav. Renvoie plusieurs lignes s'il y a plusieurs liens.

fx
=SCRAPE_BY_CSS_PATH("https://example.com", "nav a", "href")

Sortie

/about
/products
/blog
/contact
3

Extraire les prix des produits d'une page e-commerce

Cible les éléments de prix imbriqués dans les cartes produit. Renvoie tous les prix correspondants en lignes séparées pour une comparaison facile.

fx
=SCRAPE_BY_CSS_PATH("https://store.example.com/shoes", ".product-card .price")

Sortie

$89.99
$129.00
$64.50
$199.99
4

Extraire la méta description pour un audit SEO

Utilise un sélecteur d'attribut pour trouver la balise méta description et extraire son attribut content. Essentiel pour les audits SEO à grande échelle.

fx
=SCRAPE_BY_CSS_PATH("https://example.com", "meta[name='description']", "content")

Sortie

This is the meta description of the example page.
5

Extraire des listes de produits rendues en JavaScript

Active le rendu JavaScript pour extraire d'une application monopage. Le troisième paramètre vide ignore l'argument attribut, et TRUE active le navigateur sans interface.

fx
=SCRAPE_BY_CSS_PATH("https://spa-store.example.com", ".item-title", , TRUE)

Sortie

Wireless Headphones
USB-C Hub
Laptop Stand

Cas d'Usage

E-commerce

Surveillance des Prix Concurrents

Configurez une feuille de calcul qui extrait quotidiennement les pages produits des concurrents en utilisant des sélecteurs CSS ciblant les éléments de prix. Suivez les tendances de prix au fil du temps et recevez des alertes lorsque les concurrents modifient leur stratégie tarifaire.

Marketing Digital

Audit des Titres et Balises Meta SEO

Auditez des centaines de pages en extrayant leurs balises titre, méta descriptions et structures de titres à l'aide de sélecteurs CSS. Identifiez les métadonnées manquantes ou dupliquées, les titres trop longs et les pages sans hiérarchie de titres appropriée.

Recrutement

Agrégation d'Offres d'Emploi

Extrayez des sites d'emploi et des pages carrières d'entreprises pour agréger les offres d'emploi dans une seule feuille de calcul. Extrayez les titres de poste, les localisations, les fourchettes salariales et les liens de candidature en utilisant des sélecteurs CSS ciblés pour chaque point de données.

Immobilier

Suivi des Annonces Immobilières

Surveillez les sites d'annonces immobilières en extrayant les prix, adresses, superficies et dates d'annonce. Créez une feuille de calcul d'analyse de marché complète qui se met à jour avec l'inventaire actuel et les données de prix.

Recherche

Collecte de Données pour la Recherche Académique

Collectez des données structurées à partir de bases de données de recherche, de portails gouvernementaux et de sites web institutionnels. Extrayez les titres de publications, les noms d'auteurs, les dates et les résumés dans des feuilles de calcul organisées pour les revues de littérature.

Gestion de Marque

Preuve Sociale et Surveillance des Avis

Suivez les avis et notes de produits sur plusieurs plateformes en extrayant les scores d'avis, le nombre d'avis et les notes en étoiles. Agrégez les données d'Amazon, G2, Trustpilot et des sites d'avis spécifiques à l'industrie.

Conseils Pro

ASTUCE

Utilisez la fonctionnalité "Copier le sélecteur" des DevTools du navigateur comme point de départ, mais simplifiez le sélecteur pour le rendre plus résistant aux changements de page. Un sélecteur comme ".product-price" est plus stable que "div.container > div:nth-child(3) > span.product-price".

ASTUCE

Combinez avec ARRAYFORMULA pour extraire le même sélecteur sur plusieurs URLs listées dans une colonne. Par exemple, =ARRAYFORMULA(SCRAPE_BY_CSS_PATH(A2:A10, "h1")) extraira le h1 de chaque URL dans les cellules A2 à A10.

ASTUCE

Lors de l'extraction de sites e-commerce, ciblez les attributs de données comme [data-price] ou [data-product-id] plutôt que les éléments visuels, car les attributs de données sont plus stables et contiennent des valeurs plus propres.

ASTUCE

Testez votre sélecteur CSS dans la console du navigateur d'abord en utilisant document.querySelectorAll("votre-sélecteur") pour vérifier qu'il correspond aux bons éléments avant de l'utiliser dans la feuille de calcul.

ASTUCE

Pour les pages qui chargent du contenu par étapes, l'option renderJs attend l'événement de chargement de page initial. Si le contenu se charge après des interactions utilisateur supplémentaires (comme cliquer sur un bouton "Charger plus"), il peut ne pas être capturé.

Par défaut, la fonction renvoie le contenu texte visible des éléments correspondants. Vous pouvez optionnellement spécifier un paramètre d'attribut pour extraire des attributs HTML spécifiques à la place, tels que "href" pour les URLs de liens, "src" pour les sources d'images, ou tout attribut de données personnalisé. Cela la rend incroyablement polyvalente pour des tâches comme créer des inventaires de liens, collecter des URLs d'images ou extraire des attributs de données structurées.

Pour les sites web modernes qui dépendent fortement de JavaScript pour afficher leur contenu (applications monopages, sites React/Vue/Angular, catalogues de produits chargés dynamiquement), activez le paramètre renderJs. Cela indique au scraper d'utiliser un navigateur sans interface qui exécute complètement JavaScript avant d'extraire le contenu, garantissant que vous capturez les données qui seraient autrement invisibles dans le code HTML source brut. Notez que le rendu JavaScript est plus lent et consomme plus de crédits, donc activez-le uniquement lorsque le mode standard renvoie des résultats vides ou incomplets.

SCRAPE_BY_CSS_PATH est idéal pour les audits SEO, la recherche concurrentielle, la surveillance des prix, l'agrégation de contenu et tout flux de travail où vous devez extraire des données structurées du web vers Google Sheets sans écrire de code.

Erreurs Courantes

No matches found

Cause : Le sélecteur CSS ne correspond à aucun élément de la page. Cela se produit souvent lorsque le contenu de la page est chargé via JavaScript mais que renderJs n'est pas activé, ou que le sélecteur a une faute de frappe.

Solution : Vérifiez que le sélecteur fonctionne dans la console DevTools du navigateur avec document.querySelectorAll("votre-sélecteur"). Si les éléments existent dans le navigateur mais que la fonction ne renvoie rien, activez renderJs en définissant le quatrième paramètre sur TRUE.

Error: URL and selector are required

Cause : Un ou les deux paramètres requis (url et selector) sont vides ou manquants.

Solution : Assurez-vous que l'URL et le sélecteur CSS sont tous deux fournis. L'URL doit être une adresse complète incluant le protocole (https:// ou http://). Vérifiez que les références de cellule ne pointent pas vers des cellules vides.

Error: Failed to fetch URL

Cause : Le site web cible a bloqué la requête, l'URL est invalide, le serveur est en panne, ou un délai d'attente réseau s'est produit.

Solution : Vérifiez que l'URL est accessible dans votre navigateur. Certains sites web bloquent les requêtes automatisées ; essayez une page différente sur le même site. Vérifiez que l'URL inclut le protocole (https://). Si le site nécessite JavaScript, essayez d'activer renderJs.

Questions Fréquentes

Ouvrez la page web cible dans Chrome ou Firefox, faites un clic droit sur l'élément que vous voulez extraire et sélectionnez "Inspecter" ou "Inspecter l'élément". Cela ouvre les outils de développement du navigateur avec l'élément HTML mis en évidence. Vous pouvez faire un clic droit sur l'élément mis en évidence dans le panneau Éléments et choisir "Copier > Copier le sélecteur" pour obtenir un sélecteur CSS généré automatiquement. Pour des sélecteurs plus fiables, recherchez des noms de classe uniques ou des IDs sur l'élément. Par exemple, si vous voyez <div class="product-price">29,99€</div>, votre sélecteur serait ".product-price". Évitez les sélecteurs auto-générés trop spécifiques avec de nombreux éléments imbriqués, car ils se cassent facilement lorsque la mise en page de la page change.

Par défaut, SCRAPE_BY_CSS_PATH renvoie le contenu texte visible de l'élément correspondant, qui est ce qu'un utilisateur voit sur la page. Lorsque vous spécifiez un paramètre d'attribut, il extrait la valeur de cet attribut HTML à la place. Par exemple, une balise anchor <a href="https://example.com" class="link">Cliquez ici</a> renverrait "Cliquez ici" sans attribut, mais renverrait "https://example.com" si vous définissez l'attribut sur "href". Les attributs courants incluent "href" pour les liens, "src" pour les images, "alt" pour les descriptions d'images, "content" pour les balises meta et tout attribut personnalisé "data-*".

Activez renderJs lorsque le contenu que vous voulez extraire est chargé dynamiquement via JavaScript. Les signes que vous en avez besoin incluent : la fonction renvoie des résultats vides ou "Aucune correspondance trouvée" même si vous pouvez voir le contenu dans votre navigateur ; le site web est une application monopage construite avec React, Vue, Angular ou des frameworks similaires ; le contenu se charge après le défilement ou après un délai ; ou la page affiche un spinner de chargement avant que le contenu n'apparaisse. Le mode standard est plus rapide et moins cher, donc essayez sans renderJs d'abord et activez-le uniquement si nécessaire.

Chaque appel à SCRAPE_BY_CSS_PATH cible un sélecteur CSS, mais ce sélecteur peut correspondre à plusieurs éléments du même type (tous renvoyés en lignes). Pour extraire différents types d'éléments (par exemple, à la fois des titres et des prix), effectuez des appels de fonction séparés avec différents sélecteurs. Vous pouvez combiner des sélecteurs CSS avec des virgules pour correspondre à plusieurs types d'éléments en un seul appel, par exemple ".title, .price", mais les résultats seront entrelacés. Pour l'extraction de données structurées où vous devez garder les titres associés à leurs prix, utilisez des colonnes séparées avec un sélecteur par colonne.

La fonction renvoie jusqu'à 500 éléments correspondants par appel. Si la page contient plus de 500 éléments correspondants, seuls les 500 premiers sont renvoyés. Pour la plupart des cas d'usage, c'est largement suffisant. Si vous devez extraire des pages avec un nombre extrêmement important d'éléments, envisagez d'utiliser des sélecteurs CSS plus spécifiques pour réduire les résultats, ou utilisez des paramètres de pagination si le site web cible les prend en charge.

SCRAPE_BY_CSS_PATH accède aux pages en tant que visiteur anonyme sans cookies ni données de session. Il ne peut pas extraire de contenu derrière des murs de connexion, des paywalls ou des barrières d'authentification. Le scraper ne prend pas en charge l'envoi de cookies, d'en-têtes ou d'identifiants. Pour du contenu authentifié, vous devriez trouver une API publique pour ce service ou utiliser une source de données alternative. Certains sites web offrent des APIs JSON publiques ou des flux RSS qui peuvent fournir les données dont vous avez besoin sans authentification.

Le scraper effectue des requêtes HTTP similaires à un navigateur web et ne vérifie ni n'applique automatiquement les règles robots.txt. Cependant, vous devriez examiner et respecter le fichier robots.txt du site web cible et les conditions d'utilisation avant d'extraire. Une extraction excessive peut conduire au blocage de votre IP. Utilisez la fonction de manière responsable, évitez d'extraire à haute fréquence et respectez les limites de taux. Unlimited Sheets applique sa propre limitation de taux pour prévenir les abus.

SCRAPE_BY_CSS_PATH est une fonction autonome qui remplace le besoin d'IMPORTXML ou IMPORTHTML dans de nombreux cas. Contrairement à IMPORTXML, elle utilise des sélecteurs CSS (qui sont plus intuitifs pour la plupart des utilisateurs) plutôt que des expressions XPath. Contrairement à IMPORTHTML, elle peut cibler n'importe quel élément de la page, pas seulement les tableaux et les listes. Vous pouvez utiliser SCRAPE_BY_CSS_PATH aux côtés des fonctions natives de Google Sheets dans la même feuille de calcul sans conflits.

Fonctions Associées

Commencez à utiliser SCRAPE_BY_CSS_PATH aujourd'hui

Installez Unlimited Sheets pour obtenir SCRAPE_BY_CSS_PATH et 41 autres fonctions puissantes dans Google Sheets.