Lors de la sélection d'un nouveau logiciel, les avis des utilisateurs précédents sont précieux. Les avis en ligne offrent un aperçu direct des expériences réelles des utilisateurs. Dans ce contexte, G2 s'est imposé comme une plateforme fiable pour des retours d'expérience fiables sur les logiciels.
De nombreux acheteurs consultent G2 pour obtenir des informations, appréciant l'authenticité et la profondeur de ses avis. Compte tenu de cette tendance, les entreprises sont de plus en plus intéressées par la richesse des informations contenues dans ces avis.
Ce guide vous guidera tout au long du processus de récupération des avis sur les produits G2. Nous aborderons des sujets allant de la compréhension de la structure des avis au contournement des blocages potentiels et à l'analyse des données. Équipez-vous des compétences nécessaires pour exploiter efficacement les informations issues des avis G2.
Table des matières
III. Installation des packages requis
IV. Initialisation d'ExpressJS & Crawlbase Crawling API
V. Crawling Page d'avis G2 avec Crawlbase
VII. Configuration de la base de données Firebase
VIII. Stockage des données dans la base de données en temps réel de Firebase
I. Portée du projet
Explorons le cœur de notre projet, centré sur l'extraction d'avis produits G2. Pour garantir un processus fluide, nous avons combiné une sélection d'outils de premier ordre : CrawlbaseJavaScript, Firebase, ExpressJS et Cheerio. Chacun de ces outils joue un rôle unique dans ce projet.
1. le Crawlbase MSP Corp
Crawlbase's Crawling API est notre principal outil pour résoudre des problèmes tels que les blocages et les CAPTCHA. Cette API nous permet de collecter les données nécessaires sans interruption. Crawlbase, nous sommes tous prêts à gratter efficacement et efficacement.
2. Libérer la magie de JavaScript
JavaScript JavaScript est la magie du développement Web moderne, et nous l'utilisons dans notre projet. C'est notre solution de prédilection pour faire bouger les choses de manière dynamique. Du traitement du contenu à l'optimisation des éléments HTML, la flexibilité de JavaScript nous donne le pouvoir de créer une solution de scraping réactive et dynamique.
3. La connexion Firebase
Firebase est une puissante plateforme de base de données en temps réel où nous stockons en toute sécurité tous ces précieux avis sur les produits G2. Avec Firebase, nos données sont soigneusement organisées et prêtes à être analysées à tout moment.
4. Construire avec Express
Pensez à Express.js comme base solide de notre projet. C'est comme l'échafaudage qui nous permet de gérer les requêtes entrantes et de fournir les réponses. Configurer des itinéraires, gérer nos tâches de scraping et se connecter à Firebase : tout cela et bien plus encore est possible grâce à ExpressJS.
5. Cheerio : Le magicien du HTML
Tchao est notre secret pour comprendre le HTML. Avec ce scraper, nous pouvons extraire des informations importantes du HTML brut des avis G2.
II. Mise en route
Création d'un Crawlbase Compte
Visitez le site Web et terminer le processus d'inscription pour créer un compte. Gardez une trace de vos jetons de compte, en particulier les Requête normale/jeton TCP, car nous l'utiliserons pour explorer le contenu de la page d'avis G2.
Notez que G2 est un site Web complexe et Crawlbase implémente une solution particulière pour contourner l'algorithme de détection de bot de G2. Contacter l'équipe de support pour activer cette solution sur mesure pour votre compte.
Installation de Node.js
Aller à l'officiel Node.js et téléchargez le programme d'installation approprié à votre système d'exploitation (Windows, macOS ou Linux). Exécutez le programme d'installation et suivez les instructions à l'écran.
Facteur
Créez un gratuit Facteur compte. Il s'agit d'un outil de test et de développement d'API (Application Programming Interface) populaire qui simplifie le travail avec les API. Il fournit une interface conviviale qui permet aux développeurs d'envoyer des requêtes HTTP aux API, d'afficher les réponses et d'interagir avec différents points de terminaison d'API.
Projet Firebase
Créez un compte gratuit sur Google FirebaseConservez votre compte, car nous utiliserons cette base de données en temps réel plus loin dans l’article.
III. Installation des packages requis
Maintenant que vous avez posé les bases initiales, dotons votre environnement de développement des outils nécessaires. Pour ce faire, nous installerons les packages requis à l'aide de npm (Node Package Manager).
Grâce à npm, un outil de ligne de commande qui accompagne Node.js, vous pouvez télécharger et gérer sans effort des bibliothèques et des packages externes. Ces packages fournissent des fonctionnalités prédéfinies qui simplifient diverses tâches, notamment le scraping Web.
Dans cette étape, nous allons lancer un nouveau projet Node.js et installer trois packages essentiels : express
, cheerio
et Crawlbase
L’ ExpressJS le package vous permet de créer facilement un serveur Web, Tchao facilite l'analyse HTML et la Crawlbase La bibliothèque renforce vos efforts de scraping.
Ouvrez votre terminal ou votre invite de commande, accédez au répertoire de votre projet et lancez les commandes suivantes :
1 | npm init --oui |
La première commande initialise un nouveau projet Node.js avec les paramètres par défaut, tandis que la deuxième commande télécharge et installe ces packages et leurs dépendances, en les enregistrant dans un dossier appelé node_modules
dans votre répertoire de projet.
Ces packages serviront d’éléments de base de ce projet, nous permettant d’interagir avec le contenu Web, d’extraire des informations et de stocker des informations précieuses.
IV. Initialisation d'Express & Crawlbase Crawling API
Initialisez votre application ExpressJS et définissez les routes nécessaires. Nous allons créer une route pour gérer le processus de scraping.
1 | const exprimer = exigent("exprimer"); |
Ce code établit un serveur Web ExpressJS qui facilite le scraping Web via le crawlbase
bibliothèque. Lors de la réception d'une requête GET à l' /scrape
point de terminaison, le serveur extrait une URL à partir d'un paramètre de requête. Il utilise ensuite le CrawlingAPI
classe, authentifié avec votre user token
(assurez-vous de remplacer la valeur USER_TOKEN par votre valeur réelle Normal request/ TCP token
), pour effectuer une requête GET sur l'URL donnée.
Les réponses réussies sont formatées en JSON et renvoyées au client. En cas d'erreur lors de l'appel d'API, le serveur répond avec un 500
code d'état et un message d'erreur. Le serveur est configuré pour écouter sur un port spécifié ou par défaut 3000
, avec un message de journal indiquant son état opérationnel.
V. Crawling Page d'avis G2 avec Crawlbase
Dans le processus d'extraction des avis sur les produits G2, nous utiliserons les capacités robustes de CrawlbaseCette étape consiste à récupérer le contenu HTML de la page d’avis G2, qui est un précurseur essentiel à l’analyse et à l’extraction d’informations précieuses.
En intégrant Crawlbase, vous obtenez un avantage significatif pour surmonter les défis potentiels tels que les CAPTCHA et les blocages IP. Crawlbase's Crawling API permet de contourner ces obstacles, garantissant un processus d'extraction efficace et ininterrompu.
Pour vérifier la fonctionnalité de votre /scrape
route, vous pouvez initialiser le serveur ExpressJS en exécutant la commande node index.js
, ou si vous avez configuré un script de démarrage dans votre fichier package.json, vous pouvez utiliser npm start
. Cette action lancera le serveur et vous permettra d'évaluer la fonctionnalité de l'itinéraire défini.
Le serveur sera actif et fonctionnera sur le port 3000 par défaut. Vous pouvez y accéder via votre navigateur en naviguant vers http://localhost:3000
.

Pour tester le /scrape
itinéraire, ouvrez Postman et créez un nouveau GET request
. Entrez l'URL http://localhost:3000/scrape
et ajoutez le paramètre de requête URL de la demande. Dans cet exemple, nous allons explorer et récupérer Avis sur Xcode.
Envoyez la demande en cliquant sur le bouton Send button
Le facteur capturera la réponse, qui contiendra le contenu HTML de la page d'avis sur les produits G2.

En utilisant Postman pour récupérer le contenu HTML de notre URL cible, vous pouvez inspecter visuellement le contenu renvoyé. Cette étape de validation garantit l'intégration avec Crawlbase est réussi et vous êtes en mesure de récupérer le contenu Web essentiel.
VI. Analyse HTML avec Cheerio
Une fois le contenu HTML obtenu, nous utiliserons Cheerio pour l'analyser et extraire les informations pertinentes. Cela implique de trouver les bons sélecteurs, des modèles utilisés pour cibler des éléments spécifiques dans la structure HTML. Voici comment vous pouvez obtenir des sélecteurs :
1. Inspectez la page Web
Ouvrez la page des avis sur les produits G2 dans votre navigateur Web. Cliquez avec le bouton droit de la souris sur l'élément que vous souhaitez récupérer et sélectionnez Inspect
or Inspect Element
Cela ouvrira les outils de développement du navigateur.
2. Localisez l'élément
Dans les outils de développement, vous verrez la structure HTML de la page. Parcourez les éléments jusqu'à ce que vous trouviez celui qui contient les données souhaitées. Passez la souris sur différents éléments HTML pour les mettre en surbrillance sur la page, ce qui vous aidera à identifier l'élément correct.
3. Identifier les classes et les identifiants
Recherchez des attributs tels que class et id, qui identifient de manière unique l'élément que vous souhaitez récupérer. Ces attributs sont des sélecteurs que vous pouvez utiliser avec Cheerio pour obtenir la valeur souhaitée.
4. Utilisez les sélecteurs CSS
Une fois que vous avez identifié les classes ou les identifiants, vous pouvez les utiliser comme sélecteurs CSS dans votre code Cheerio. Par exemple, si vous souhaitez extraire les titres des avis, vous pouvez utiliser un sélecteur comme .review-title
pour cibler les éléments avec le review-title
classe.
5. Testez les sélecteurs avec Cheerio
Pour vous assurer que vos sélecteurs sont précis, ouvrez un nouveau script Node.js et utilisez Cheerio pour charger le contenu HTML et tester vos sélecteurs. Utilisez le $(selector)
syntaxe pour sélectionner des éléments et vérifier que vous capturez les données correctes.
1 | fonction Données analysées à partir de HTML(html) { |
Ce code définit une fonction nommée parsedDataFromHTML
qui prend un contenu HTML en entrée et utilise la bibliothèque Cheerio pour extraire des données spécifiques du HTML. Il initialise un objet appelé productData
avec des champs pour les informations sur les produits et les avis.
Le code utilise des sélecteurs Cheerio pour extraire des détails tels que product name
, star rating
, total reviews count
et les données d'évaluation individuelles. Il parcourt les éléments d'évaluation, en extrayant les détails de l'évaluateur, le texte de l'évaluation, les notes par étoiles, l'avatar de l'évaluateur, les liens d'évaluation, les titres de profil, les étiquettes de profil et les dates d'évaluation.
Toutes ces données sont organisées dans un objet structuré et renvoyées. En cas d'erreur lors du processus d'analyse, la fonction renvoie un message d'erreur.
Remarque : pour vérifier si l’analyse est réussie, vous pouvez suivre les étapes ci-dessous.
- Assurez-vous que votre serveur Express fonctionne sur le port
3000
. Alternativement, vous pouvez exécuternode index.js
ornpm start
pour démarrer le serveur. - Open Facteur et créez une nouvelle requête GET. Entrez
http://localhost:3000/scrape
comme URL de demande et ajoutez les paramètres de requête d'URL. - Envoyez la demande en cliquant sur le bouton
Send button
Grâce à Postman, le contenu JSON de la page d'avis sur les produits G2 sera capturé.

VII. Configuration de la base de données Firebase
À ce stade, nous allons intégrer Firebase à votre projet de scraping Web. Vous pouvez suivre les étapes ci-dessous.
1. Créer un nouveau projet
Connectez-vous à votre console Firebase et créez un nouveau projet en cliquant sur le Add project
bouton. Donnez un nom approprié à votre projet et sélectionnez vos options préférées.

2. Créer une base de données en temps réel
Après avoir configuré avec succès le projet, accédez au menu de gauche de la console Firebase et choisissez Database
. De là, cliquez sur Create Database
et optez pour le Start in test mode
sélection. Cette approche vous permet d'établir une base de données en temps réel avec des règles de sécurité restreintes, ce qui la rend particulièrement adaptée aux tests et au développement.

3. Examiner les règles et la sécurité
En mode test, il est important de savoir que votre base de données est accessible avec des règles de sécurité limitées. Lorsque vous passez en production, assurez-vous de vérifier et de mettre en œuvre des règles de sécurité appropriées pour protéger vos données. Cliquez sur Next
et alors Enable
.


4. Génération d'une clé privée
Accédez aux paramètres de votre projet Firebase, puis générez un nouveau private key
spécifiquement pour le SDK Firebase Admin. Après avoir généré la clé, assurez-vous d'enregistrer le fichier JSON résultant dans le répertoire racine de votre projet. Ce fichier JSON contient votre clé de compte de service et est essentiel pour les fonctionnalités du SDK.

5. Intégration de la clé privée
Dans votre ExpressJS
projet, installez le package Firebase Admin SDK et initialisez-le à l'aide de votre private key
et l'URL de la base de données.
1 | npm dans firebase-admin |
1 | const administrateur = exigent('firebase-admin'); |
Cet extrait de code installe d'abord le firebase-admin
package utilisant npm. Ensuite, il importe le package et initialise le SDK à l'aide d'un fichier JSON de compte de service pour l'authentification et de l'URL de votre base de données en temps réel Firebase. Cette configuration permet à votre application Node.js d'interagir avec les services Firebase à l'aide des fonctionnalités du SDK Admin.
VIII. Stockage des données dans la base de données en temps réel de Firebase
À l'intérieur de votre /scrape
La logique de route, après avoir analysé le code HTML avec Cheerio, structure les données extraites dans un format adapté à vos besoins. Il peut s'agir d'un tableau d'objets, où chaque objet représente un avis.
Choisissez un emplacement pertinent dans la base de données pour stocker les avis relatifs à un produit spécifique. Vous pouvez utiliser le nom du produit comme clé dans la base de données pour différencier plusieurs avis sur un produit.
Mettre en œuvre un itinéraire, tel que
~/productName/reviews
, correspondant à l'emplacement dans la base de données où vous souhaitez stocker les avis.Lorsqu'une demande est effectuée sur cet itinéraire, envoyez les données structurées à l'emplacement spécifié dans la base de données en temps réel Firebase.
Ici est le code complet pour explorer et récupérer les avis sur les produits G2 et stocker les données récupérées dans votre base de données.
1 | const exprimer = exigent('exprimer'); |
En résumé, ce code crée une application Node.js avec plusieurs fonctions. Il commence par importer les bibliothèques essentielles, notamment express.js
pour la création de serveur Web, cheerio
pour l'analyse HTML, crawlbase
pour l'exploration du Web, et firebase-admin
pour interagir avec les services Firebase. Le SDK Firebase Admin est initialisé à l'aide du fichier JSON d'un compte de service et de l'URL de base de données correspondante. Une instance de CrawlingAPI
la classe est instanciée avec un jeton utilisateur pour faciliter l'exploration Web.
Le code crée ensuite une application ExpressJS et la configure pour écouter sur un port spécifique, soit un port personnalisé, soit le port par défaut 3000. Une fonction nommée parsedDataFromHTML
est défini et utilise des sélecteurs Cheerio pour analyser le contenu HTML et le structurer en données organisées.
Une route /scrape
est établi dans l'application ExpressJS, configuré pour gérer les requêtes GET. À la réception d'une requête, l'API explore l'URL fournie à l'aide de l' CrawlingAPI
. La réponse est analysée à l'aide de la parsedDataFromHTML
fonction, qui génère des données structurées. Ces données analysées sont ensuite stockées dans la base de données en temps réel Firebase via le SDK Firebase Admin, en les plaçant sous un chemin désigné. Le stockage réussi des données génère une réponse JSON contenant les données analysées.

Nous avons maintenant réussi à établir une connexion transparente entre l'application ExpressJS et la base de données en temps réel Firebase, vous permettant de stocker les avis sur les produits G2 extraits de manière structurée et organisée. Cela garantit que ces précieuses informations sont stockées en toute sécurité et facilement accessibles à tout moment.
IX. Conclusion
Voici un organigramme simple qui résume la portée de notre projet :

En résumé, ce guide complet vous a fourni les techniques nécessaires pour extraire les avis sur les produits G2 à l'aide de JavaScript et Crawlbase En suivant les étapes détaillées, vous avez acquis une compréhension approfondie de la navigation dans l'interface produit de G2, de l'affinage et de la structuration des données récupérées, et de leur archivage efficace dans une base de données pour analyse ultérieure.
L'importance du scraping Web pour extraire des informations commerciales exploitables est indéniable. Il constitue une base solide pour des décisions éclairées, des améliorations de produits et des stratégies sur mesure. Cependant, il est essentiel de souligner la nécessité de pratiques de scraping éthiques : le respect des conditions d'utilisation du site Web est essentiel.
Alors que vous continuez votre voyage avec CrawlbaseN'oubliez pas que le web scraping n'est pas seulement une question de compétences techniques, mais aussi de responsabilité. Engagez-vous à apprendre continuellement et exploitez cette richesse de données pour identifier de nouvelles opportunités et stimuler l'innovation.
Le monde du web scraping est dynamique et vaste, offrant une mine de connaissances et d'idées qui peuvent grandement profiter à votre entreprise. Relevez les défis, exploitez les opportunités et laissez votre passion pour la découverte vous guider dans vos projets futurs. Crawlbase.
X. Questions fréquemment posées
Q. Comment Crawlbase aide à ramper et à gratter g2.com et d'autres sites Web ?
Pour Crawlbase L'API utilise des algorithmes avancés et un vaste réseau proxy pour contourner les blocages et les CAPTCHA, tout en masquant efficacement votre adresse IP à chaque requête. Ce processus stratégique garantit l'anonymat et empêche les sites web ciblés de suivre vos activités d'exploration.
Pour gérer des sites Web complexes comme G2.com, nous avons mis en œuvre une solution personnalisée utilisant des robots d'IA formés. Cette amélioration améliore notre capacité à contourner les problèmes de proxy et à éviter les interruptions dues aux blocages. En tirant parti des réseaux résidentiels premium aux États-Unis, nous imitons efficacement le comportement de navigation humaine authentique. Cette approche garantit une expérience d'exploration transparente et ininterrompue.
Q. Puis-je utiliser une autre base de données ?
Ce blog a présenté l'utilisation de la base de données en temps réel Firebase pour stocker les données récupérées. Cependant, vos choix ne se limitent pas uniquement à cette avenue. En fonction des cas d'utilisation ou des exigences spécifiques de votre projet, vous pouvez vous tourner vers des solutions de base de données alternatives telles que MongoDB, PostgreSQL, MySQL ou même des plateformes basées sur le cloud comme Amazon DynamoDB.
Q. Comment puis-je gérer la pagination lors de la récupération des avis G2 ?
La gestion de la pagination lors de la récupération des avis G2 implique la récupération de données à partir de plusieurs pages de la section des avis. Voici une approche générale de la gestion de la pagination dans le scraping Web :
Identifier la méthode de pagination : examinez la structure de la page d'avis G2 pour déterminer comment la pagination est implémentée. Dans ce cas, l'implémentation de G2 consiste à cliquer sur le bouton « Suivant » en bas de la page d'avis.
Ajuster les URL ou les paramètres : si la pagination implique de modifier les paramètres d'URL (comme les numéros de page) dans l'URL, modifiez l'URL en conséquence pour chaque page, comme indiqué dans l'exemple ci-dessous.
page 1 : https://www.g2.com/products/xcode/reviews
page 2 : https://www.g2.com/products/xcode/reviews.html?page=2
page 3 : https://www.g2.com/products/xcode/reviews.html?page=3Boucle sur les pages : une fois que vous avez compris la méthode de pagination, utilisez une boucle pour parcourir les pages. Envoyez une requête à chaque page pour explorer et extraire les données à l'aide de votre bibliothèque de scraping (par exemple, Axios, Fetch) pour récupérer le contenu HTML. Ensuite, analysez le code HTML pour extraire les informations souhaitées à l'aide de Cheerio ou de toute autre bibliothèque d'analyse HTML.
Q. Comment puis-je garantir la légalité et l’éthique du web scraping ?
Pour garantir la légitimité et le caractère éthique du scraping Web, il faut respecter les règles et les directives établies par les sites Web. Avant de lancer un scraping, prenez un moment pour examiner attentivement les conditions d'utilisation du site Web et vérifiez son fichier robots.txt. De plus, soyez attentif aux données que vous extrayez, en vérifiant que vous possédez l'autorité légitime pour les utiliser aux fins prévues. Cette approche permet de maintenir une pratique de scraping responsable et éthique.