Le scraping Web et l'extraction de données ont révolutionné la manière dont nous collectons les informations à partir de l'énorme quantité de données présentes sur Internet. Les moteurs de recherche comme Google sont des mines d'or de connaissances, et la capacité d'extraire des URL utiles de leurs résultats de recherche peut faire une grande différence à de nombreuses fins. Que vous soyez propriétaire d'une entreprise effectuant des études de marché, que vous aimiez les données et souhaitiez obtenir des informations, ou que vous ayez besoin de données pour différentes utilisations dans votre travail, le scraping Web peut vous fournir les données dont vous avez besoin.

Dans ce blog, nous allons apprendre à extraire les résultats de recherche Google, à extraire des informations utiles et à bien stocker les informations dans un SQLite base de données.

Nous utiliserons Python et de la Base d'exploration Crawling API. Ensemble, nous allons parcourir le monde complexe du scraping Web et de la gestion des données, vous donnant les compétences et le savoir-faire nécessaires pour utiliser la puissance des résultats de recherche de Google. Allons-y et commençons !

Pourquoi extraire les URL des résultats de recherche Google ?

L'extraction des pages de recherche Google présente de nombreux avantages. Elle vous donne accès à un ensemble de données vaste et varié, grâce à la position de Google comme moteur de recherche le plus utilisé au monde. Ces données couvrent de nombreux domaines, du commerce à l'école en passant par la recherche.

Pourquoi récupérer les pages de recherche Google

Le véritable avantage du scraping est que vous pouvez obtenir uniquement les données que vous souhaitez. Les résultats de recherche de Google correspondent à ce que vous recherchez. Lorsque vous récupérez ces résultats, vous pouvez obtenir des données qui correspondent à vos termes de recherche, ce qui vous permet d'extraire uniquement les informations dont vous avez besoin. Google Search affiche une liste de sites Web sur le sujet que vous recherchez. Le scraping de ces liens vous permet de créer un ensemble complet de sources qui correspondent à ce que vous recherchez ou étudiez.

Les entreprises peuvent utiliser le scraping des résultats de recherche Google pour étudier le marché. Elles peuvent obtenir des informations sur leurs concurrents à partir des résultats de recherche sur leur domaine ou leurs produits. L'examen de ces résultats les aide à comprendre les tendances du marché, ce que pensent les acheteurs et ce que font les autres entreprises. Les personnes qui créent du contenu et écrivent des blogs peuvent utiliser cette méthode pour trouver de bons articles, des billets de blog et des actualités. Cela leur donne une base solide pour créer leur propre contenu. Les spécialistes du marketing en ligne et les experts en référencement tirent beaucoup de profit du scraping des pages de recherche.

Apprendre à extraire les pages de recherche Google vous donne un outil puissant pour exploiter la richesse d'informations d'Internet. Dans ce blog, nous examinerons l'aspect technique de ce processus. Nous utiliserons Python et Crawlbase Crawling API comme nos outils. Commençons ce voyage pour en apprendre davantage sur l'art et la science du scraping Web pour les pages de recherche Google.

Utilisation de Crawlbase Crawling API pour extraire les résultats de Google

La Crawlbase Crawling API Crawlbase est le leader du Web scraping en offrant aux utilisateurs un moyen puissant et flexible d'extraire des données à partir de sites Web. Il vise à faciliter le travail délicat de Web scraping en offrant une interface simple avec des outils puissants. Avec l'aide de Crawlbase, vous pouvez configurer la récupération automatique de données à partir de sites Web, même à partir de sites difficiles comme les pages de recherche de Google. Cette automatisation vous fait gagner beaucoup de temps et de travail que vous auriez autrement passé à collecter des données à la main. Examinons de plus près la réflexion derrière ce choix :

  1. Évolutivité: Crawlbase est capable de gérer le scraping Web à grande échelle. Votre projet peut couvrir quelques centaines de pages ou une énorme base de données avec des millions d'entrées. Crawlbase s'adapte à vos besoins, en veillant à ce que vos projets de scraping se développent sans accroc.
  2. Fiabilité: Le scraping Web peut être difficile car les sites Web changent constamment. Crawlbase s'attaque à ce problème grâce à une gestion et une surveillance des erreurs solides. Cela réduit les risques de scraping et de problèmes inattendus.
  3. Gestion des procurations:Les sites Web utilisent souvent des mesures anti-scraping comme le blocage d'IP. Pour y faire face, Crawlbase propose une bonne gestion des proxys. Cette fonctionnalité vous aide à éviter les interdictions d'IP et vous permet de toujours obtenir les données que vous recherchez.
  4. Facile à utiliser:L'API Crawlbase vous évite les tracas liés à la création et à l'exécution de votre scraper ou crawler. Elle fonctionne dans le cloud et gère les aspects techniques complexes afin que vous puissiez vous concentrer sur l'obtention des données dont vous avez besoin.
  5. Données fraîches: La base de crawl Crawling API garantit que vous obtenez les données les plus récentes et les plus actuelles en les explorant en temps réel. Ceci est essentiel pour les tâches qui nécessitent une analyse et une prise de décision précises.
  6. Économie d'argent:La mise en place et l'exploitation de votre système de scraping Web peuvent être coûteuses. D'autre part, Crawlbase Crawling API offre une option moins chère où vous payez pour ce que vous utilisez.

Découverte de la bibliothèque Python Crawlbase

La bibliothèque Python Crawlbase vous aide à tirer le meilleur parti de Crawlbase Crawling API. Cette bibliothèque sert de boîte à outils pour ajouter Crawlbase aux projets Python. Elle facilite le processus pour les développeurs, quel que soit leur niveau d'expérience.

Voici un aperçu de son fonctionnement:

  1. Initialisation Commencez votre voyage en initialisant le Crawling API classe avec votre jeton Crawlbase.
1
api = API d'exploration({ 'jeton': 'VOTRE_JETON_CRAWLBASE' })
  1. Scraping d'URL : Récupérez les URL sans effort à l'aide de la fonction get, en spécifiant l'URL et tous les paramètres facultatifs.
1
2
3
réponse = api.get('https://www.exemple.com')
if réponse['code_d'état']== 200:
impression(réponse['corps'])
  1. Personnalisation: La bibliothèque Python Crawlbase propose des options pour ajuster votre scraping. Vous pouvez découvrir d'autres façons d'explorer dans la documentation de l'API.

Vous connaissez maintenant Crawlbase Crawling API et nous savons bien l'utiliser. Nous sommes sur le point de plonger dans les énormes résultats de recherche de Google, découvrant les secrets de l'obtention de données Web. Commençons et explorons toutes les informations que Google a à offrir !

4. Exigences essentielles pour un démarrage réussi

Avant de commencer votre parcours de scraping Web avec Crawlbase Crawling API, vous devez préparer certaines choses essentielles. Cette partie parlera de ces indispensables pour vous assurer d'être prêt pour ce qui vous attend.

Configuration de votre environnement de développement pour le scraping de Google

La configuration de votre espace de codage est la première chose à faire dans votre recherche Google de scraping Web. Voici ce que vous devez faire :

  1. Installation de Python : Assurez-vous que Python est installé sur votre ordinateur. Vous pouvez obtenir la dernière version de Python sur leur site officiel. Vous y trouverez également des guides d'installation faciles à suivre.
  2. Éditeur de code : choisissez un éditeur de code ou un IDE pour écrire votre code Python. Voici quelques choix populaires Visual Studio Code, PyCharm, Jupyter Notebook, ou même un éditeur de texte basique comme Sublime Text.
  3. Environnement virtuel : la configuration d'un environnement virtuel pour votre projet est une décision judicieuse. Cela permet de séparer les packages requis par votre projet de ce qui est installé sur la configuration Python principale de votre ordinateur. Cela permet d'éviter tout conflit entre les différentes versions des packages. Vous pouvez utiliser l'environnement intégré de Python venv module ou d'autres outils comme virtualenv pour créer ces environnements isolés.

Installation des bibliothèques nécessaires pour extraire les résultats de recherche Google

Pour interagir avec Crawlbase Crawling API et pour effectuer efficacement des tâches de scraping Web, vous devrez installer certaines bibliothèques Python. Voici une liste des bibliothèques clés dont vous aurez besoin :

  1. Base de recherche : Une classe Python légère et sans dépendance qui agit comme wrapper pour l'API Crawlbase. Nous pouvons l'utiliser pour envoyer des requêtes à Crawling API et recevez des réponses. Vous pouvez l'installer en utilisant pip:
1
pip installe crawlbase
  1. SQLite : SQLite est un moteur de base de données léger, sans serveur et autonome que nous utiliserons pour stocker les données extraites. Python est fourni avec un support intégré pour SQLite, il n'est donc pas nécessaire de l'installer séparément.

Créer votre compte Crawlbase

Maintenant, nous allons vous aider à configurer un compte Crawlbase. Suivez ces étapes :

  1. Visitez le site Web de Crawlbase : Ouvrez votre navigateur Web et accédez à la page d'inscription du site Web Crawlbase pour commencer le processus d'inscription.
  2. Fournissez vos coordonnées : Il vous sera demandé de fournir votre adresse e-mail et de créer un mot de passe pour votre compte Crawlbase. Remplissez les informations requises.
  3. Vérification: Après avoir soumis vos informations, vous devrez peut-être vérifier votre adresse e-mail. Vérifiez votre boîte de réception pour obtenir un e-mail de vérification de Crawlbase et suivez les instructions fournies.
  4. Vous devez vous identifier: Une fois votre compte vérifié, revenez sur le site Web de Crawlbase et connectez-vous à l'aide de vos informations d'identification nouvellement créées.
  5. Accédez à votre jeton API : Vous aurez besoin d'un jeton API pour utiliser Crawlbase Crawling API. Vous pouvez trouver vos jetons ici.

Avec votre environnement de développement configuré, les bibliothèques nécessaires installées et votre compte Crawlbase créé, vous êtes désormais équipé des éléments essentiels pour plonger dans le monde du scraping Web à l'aide de Crawlbase Crawling API. Dans les sections suivantes, nous approfondirons la compréhension de la structure des pages de recherche de Google et des subtilités du scraping Web. Alors, continuons notre voyage !

5. Comprendre la structure des pages de résultats de recherche Google

Pour devenir bon dans l'extraction des pages de recherche Google, vous devez comprendre comment ces pages sont constituées. Google utilise une mise en page complexe qui mélange différentes parties pour afficher les résultats de recherche. Dans cette partie, nous allons décortiquer les éléments principaux et vous montrer comment repérer les données précieuses qu'elles contiennent.

Composants d'une page de résultats de recherche Google

Une page de recherche Google typique comprend plusieurs sections distinctes, chacune servant un objectif spécifique :

Outil de grattage de pages de recherche Google
  1. Barre de recherche : vous trouverez la barre de recherche en haut de la page. C'est ici que vous saisissez ce que vous recherchez. Google consulte ensuite sa base de données pour vous montrer les résultats correspondants.
  2. Outils de recherche : juste au-dessus de vos résultats de recherche, vous verrez un ensemble d'options pour affiner ce que vous voyez. Vous pouvez modifier la façon dont les résultats sont triés, choisir une plage de dates spécifique ou choisir le type de contenu que vous souhaitez. Cela vous aide à trouver ce dont vous avez besoin.
  3. Publicités : soyez attentif aux contenus sponsorisés au début et à la fin de vos résultats de recherche. Il s'agit de publicités payées par les entreprises. Elles peuvent être liées à ce que vous recherchez, mais parfois ce n'est pas le cas.
  4. Emplacements : Google affiche souvent une carte en haut de la page de résultats de recherche qui correspond à ce que vous recherchez. Il répertorie également les adresses et les moyens de contacter les endroits les plus pertinents.
  5. Résultats de la recherche : la partie principale de la page contient une liste de sites Web, d'articles, d'images ou d'autres éléments correspondant à votre recherche. Chaque élément est généralement accompagné d'un titre, d'un petit aperçu et de l'adresse Web.
  6. Les gens demandent aussi : à côté des résultats de recherche, vous verrez souvent une case « Les gens demandent aussi ». Elle fonctionne comme une section FAQ affichant des questions liées à ce que vous avez recherché.
  7. Recherches associées : Google affiche une liste de liens de recherche associés en fonction de votre requête. Ces liens peuvent vous rediriger vers des ressources utiles qui s'ajoutent à votre collecte de données.
  8. Graphique de connaissances : sur le côté droit de la page, vous pouvez voir un panneau de graphique de connaissances contenant des informations sur le sujet que vous avez recherché. Ce panneau contient souvent des faits clés, des images et des sujets connexes.
  9. Pagination : S'il existe plusieurs pages de résultats de recherche, vous trouverez des liens de pagination en bas. Ceux-ci vous permettent de parcourir les résultats.

Dans les parties suivantes, nous explorerons les rouages ​​de l'extraction des pages de recherche Google. Nous verrons comment extraire les données clés, gérer la pagination et enregistrer les informations dans une base de données SQLite.

6. Maîtriser le scraping des pages de recherche Google avec le Crawling API

Cette partie se concentrera sur l'acquisition de compétences en matière de scraping de pages de recherche Google à l'aide de Base d'exploration Crawling API. Nous souhaitons exploiter pleinement le potentiel de cet outil puissant pour extraire des informations des résultats de recherche de Google. Nous passerons en revue les étapes clés, de l'obtention de votre jeton Crawlbase à la gestion de la pagination. À titre d'exemple, nous collecterons des détails importants sur les résultats de recherche pour la requête « science des données » sur Google.

Obtenir le bon jeton Crawlbase

Avant de nous lancer dans notre voyage de récupération de pages de recherche Google, nous devons sécuriser l'accès à Crawlbase Crawling API en obtenant un jeton approprié. Crawlbase fournit deux types de jetons : le jeton normal (TCP) pour les sites Web statiques et le jeton JavaScript (JS) pour les pages dynamiques. Pour les pages de recherche Google, le jeton normal est un bon choix.

1
2
3
4
de base d'exploration importer API d'exploration

# Initialiser le Crawling API avec votre jeton JavaScript Crawlbase
api = API d'exploration({ 'jeton': 'CRAWLBASE_NORMAL_TOKEN' })

Vous pouvez obtenir votre jeton Crawlbase ici après avoir créé un compte dessus.

Configuration de Crawlbase Crawling API

Avec notre jeton en main, passons à la configuration de Crawlbase Crawling API pour une extraction efficace des données. Crawling API Les réponses peuvent être obtenues sous deux formats : HTML ou JSON. Par défaut, l'API renvoie les réponses au format HTML. Cependant, nous pouvons spécifier le paramètre « format » pour recevoir les réponses au format JSON.

Réponse HTML :

1
2
3
4
5
6
7
En-têtes:
url: "L'URL qui a été explorée"
statut_original: 200
pc_status: 200

Les chuchotements :
Le HTML de la page

Réponse JSON :

1
2
3
4
5
6
7
// passez le paramètre de requête « format=json » pour recevoir une réponse au format JSON
{
"état_original": "200",
"pc_status": 200,
"url": "L'URL qui a été explorée",
"corps": "Le HTML de la page"
}

Nous pouvons en savoir plus sur Crawling API RAPIDE ici. Pour l'exemple, nous utiliserons la réponse JSON. Nous utiliserons l'objet API initialisé pour effectuer des requêtes. Spécifiez l'URL que vous souhaitez récupérer à l'aide de l' api.get(url, options={}) la fonction.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
de base d'exploration importer API d'exploration
importer json

# Initialiser le Crawling API avec votre jeton Crawlbase Normal
api = API d'exploration({ 'jeton': 'CRAWLBASE_NORMAL_TOKEN' })

# URL de la page de recherche Google que vous souhaitez récupérer
google_search_url = 'https://www.google.com/search?q=data+science'

# options pour Crawling API
choix = {
'format': 'json'
}

# Faire une demande pour extraire la page de recherche Google avec des options
réponse = api.get(google_search_url, options)

# Vérifiez si la demande a réussi
if réponse['en-têtes']['pc_status']== «200 ':
# Chargement de JSON à partir du corps de la réponse après le décodage des données d'octets
response_json = json.loads(réponse['corps'].décoder('latin1'))

# joli corps de réponse d'impression
impression(json.dumps(response_json, indent=4, clés de tri =Vrai))
d'autre:
impression(« Échec de la récupération de la page. Code d'état : », réponse['code_d'état'])

Dans le code ci-dessus, nous avons initialisé l'API, défini l'URL de recherche Google et configuré les options pour l' Crawling API. Nous passons le paramètre « format » avec la valeur « json » afin de pouvoir avoir la réponse en JSON. Crawling API fournit de nombreux autres paramètres importants. Vous pouvez en savoir plus à leur sujet ici.

Une fois le code exécuté avec succès, vous obtiendrez un résultat comme ci-dessous.

1
2
3
4
5
6
{
"corps": « HTML exploré de la page »,
"état_original": 200,
"pc_status": 200,
"url": "https://www.google.com/search?q=data+science"
}

Choisir le grattoir idéal

Crawling API fournit plusieurs scrapers intégrés pour différents sites Web importants, y compris Google. Vous pouvez en savoir plus sur les scrapers disponibles iciLe paramètre « scraper » est utilisé pour analyser les données récupérées en fonction d'un scraper spécifique fourni par l'API Crawlbase. Il est facultatif ; s'il n'est pas spécifié, vous recevrez le code HTML complet de la page pour un scraping manuel. Si vous utilisez ce paramètre, la réponse sera renvoyée sous forme de JSON contenant les informations analysées en fonction du scraper spécifié.

Mise en situation :

1
2
# Exemple utilisant un scraper spécifique
réponse = api.get('https://www.google.com/search?q=your_search_query', { 'grattoir': 'nom_du_grattoir' })

L'un des scrapers disponibles est « google-serp », conçu pour les pages de résultats de recherche Google. Il renvoie un objet avec des détails tels que des annonces, des informations sur les sections que les gens aiment également, des résultats de recherche, des recherches associées, etc. Cela inclut toutes les informations que nous voulons. Vous pouvez en savoir plus sur le scraper « google-serp » ici.

Ajoutons ce paramètre à notre exemple et voyons ce que nous obtenons dans la réponse :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
de base d'exploration importer API d'exploration
importer json

# Initialiser le Crawling API avec votre jeton Crawlbase Normal
api = API d'exploration({ 'jeton': 'CRAWLBASE_NORMAL_TOKEN' })

# URL de la page de recherche Google que vous souhaitez récupérer
google_search_url = 'https://www.google.com/search?q=data+science'

# options pour Crawling API
choix = {
'grattoir': 'google-serp'
}

# Faire une demande pour extraire la page de recherche Google avec des options
réponse = api.get(google_search_url, options)

# Vérifiez si la demande a réussi
if réponse['code_d'état']== 200 et réponse['en-têtes']['pc_status']== «200 ':
# Chargement de JSON à partir du corps de la réponse après le décodage des données d'octets
response_json = json.loads(réponse['corps'].décoder('latin1'))

# joli corps de réponse d'impression
impression(json.dumps(response_json, indent=4, clés de tri =Vrai))
d'autre:
impression(« Échec de la récupération de la page. Code d'état : », réponse['code_d'état'])

Sortie :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
{
"corps": {
« publicités »: [],
"nombreDeRésultats": 2520000000,
« peopleAlsoAsk »: [
{
"la description": « Un data scientist utilise les données pour comprendre et expliquer les phénomènes qui l'entourent et aider les organisations à prendre de meilleures décisions. Travailler en tant que data scientist peut être intellectuellement stimulant, analytiquement satisfaisant et vous mettre à la pointe des nouvelles avancées technologiques. 15 juin 2023 »,
"destination": {
"texte": "Courserahttps://www.coursera.org \u00e2\u0080\u00a Articles Coursera \u00e2\u0080\u00a Données",
"url": "https://www.coursera.org/articles/what-is-a-data-scientist#:~:text=A%20data%20scientist%20uses%20data,of%20new%20advances%20in%20technology."
},
"position": 1,
« Titre »: « Que fait exactement un data scientist ? »,
"url": "https://google.com/search?sca_esv=561439800&q=What+exactly+does+a+data+scientist+do%3F&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQzmd6BAgvEAY"
},
{
"la description": « Oui, car cela exige de solides bases en mathématiques, en statistiques et en programmation informatique, il peut être difficile d'accéder à un diplôme en science des données. Les compétences et les connaissances requises pour exceller dans ce secteur peuvent cependant être acquises par n'importe qui avec la bonne dose d'effort et d'engagement. 11 août 2023 »,
"destination": {
"texte": "simplilearn.comhttps://www.simplilearn.com \u00e2\u0080\u00a-est-un-article-difficile-sur-la-science-des-données",
"url": "https://www.simplilearn.com/is-data-science-hard-article#:~:text=Yes%2C%20because%20it%20demands%20a,amount%20of%20effort%20and%20commitment."
},
"position": 2,
« Titre »: « La science des données est-elle trop difficile ? »,
"url": "https://google.com/search?sca_esv=561439800&q=Is+data+science+too+hard%3F&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQzmd6BAgqEAY"
},
{
"la description": « La science des données nécessite-t-elle du codage ? Oui, la science des données nécessite du codage car elle utilise des langages comme Python et R pour créer des modèles d'apprentissage automatique et traiter de grands ensembles de données. 28 juillet 2023 »,
"destination": {
"texte": "simplilearn.comhttps://www.simplilearn.com \u00e2\u0080\u00a quelles-compétences-ai-je-besoin-pour-b...",
"url": "https://www.simplilearn.com/what-skills-do-i-need-to-become-a-data-scientist-article#:~:text=Does%20Data%20Science%20Require%20Coding,and%20deal%20with%20large%20datasets."
},
"position": 3,
« Titre »: « La science des données est-elle du codage ? »,
"url": "https://google.com/search?sca_esv=561439800&q=Is+data+science+a+coding%3F&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQzmd6BAgrEAY"
},
{
"la description": « La science des données est-elle une bonne carrière ? La science des données est une carrière fantastique avec un énorme potentiel de croissance future. Il existe déjà une forte demande, une rémunération compétitive et de nombreux avantages. Les entreprises recherchent activement des scientifiques des données capables de glaner des informations précieuses à partir d'énormes quantités de données. 19 juin 2023 »,
"destination": {
"texte": "simplilearn.comhttps://www.simplilearn.com \u00e2\u0080\u00a-est-ce-que-la-science-des-données-est-une-bonne-voiture...",
"url": "https://www.simplilearn.com/is-data-science-a-good-career-choice-article#:~:text=View%20More-,Is%20data%20science%20a%20good%20career%3F,from%20massive%20amounts%20of%20data."
},
"position": 4,
« Titre »: « La science des données est-elle une bonne carrière ? »,
"url": "https://google.com/search?sca_esv=561439800&q=Is+data+science+a+good+career%3F&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQzmd6BAgsEAY"
}
],
"Recherches associées": [
{
« Titre »: « Emplois en science des données »,
"url": "https://google.com/search?sca_esv=561439800&q=Data+science+jobs&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQ1QJ6BAhVEAE"
},
{
« Titre »: « salaire data science »,
"url": "https://google.com/search?sca_esv=561439800&q=Data+science+salary&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQ1QJ6BAhQEAE"
},
{
« Titre »: « diplôme en science des données »,
"url": "https://google.com/search?sca_esv=561439800&q=Data+Science+degree&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQ1QJ6BAhREAE"
},
{
« Titre »: « science des données – wikipédia »,
"url": "https://google.com/search?sca_esv=561439800&q=data+science+-+wikipedia&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQ1QJ6BAhTEAE"
},
{
« Titre »: « Définition et exemple de science des données »,
"url": "https://google.com/search?sca_esv=561439800&q=Data+science+definition+and+example&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQ1QJ6BAhUEAE"
},
{
« Titre »: « programme de science des données »,
"url": "https://google.com/search?sca_esv=561439800&q=Data+Science+syllabus&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQ1QJ6BAhSEAE"
},
{
« Titre »: « science des données vs analyse des données »,
"url": "https://google.com/search?sca_esv=561439800&q=Data+science+vs+data+analytics&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQ1QJ6BAhPEAE"
},
{
« Titre »: « Qu'est-ce que la science des données en Python »,
"url": "https://google.com/search?sca_esv=561439800&q=What+is+Data+Science+in+Python&sa=X&ved=2ahUKEwikkP3WyYWBAxUkkWoFHTxKCSIQ1QJ6BAhNEAE"
}
],
"Résultats de la recherche": [
{
"la description": « La science des données combine les mathématiques et les statistiques, la programmation spécialisée, l'analyse avancée, l'intelligence artificielle (IA) et l'apprentissage automatique avec des sujets spécifiques... »,
"destination": "IBMhttps://www.ibm.com \u00e2\u0080\u00a sujets \u00e2\u0080\u00a science des données",
"position": 1,
"postdater": "",
« Titre »: « Qu'est-ce que la science des données ? »,
"url": "https://www.ibm.com/topics/data-science"
},
{
"la description": « Les data scientists examinent les questions auxquelles il faut répondre et où trouver les données associées. Ils ont un sens des affaires et des compétences analytiques ainsi que les ... »,
"destination": "Université de Californie, Berkeleyhttps://ischoolonline.berkeley.edu \u00e2\u0080\u00a Science des données",
"position": 2,
"postdater": "",
« Titre »: « Qu'est-ce que la science des données ? - UC Berkeley Online »,
"url": "https://ischoolonline.berkeley.edu/data-science/what-is-data-science/"
},
{
"la description": « Un data scientist est un professionnel qui crée du code de programmation et le combine avec des connaissances statistiques pour créer des informations à partir des données. »,
"destination": "Wikipédiahttps://en.wikipedia.org \u00e2\u0080\u00a wiki \u00e2\u0080\u00a Data_science",
"position": 3,
"postdater": "",
« Titre »: « Science des données »,
"url": "https://en.wikipedia.org/wiki/Data_science"
},
{
"la description": « Les tâches d'un data scientist peuvent inclure l'élaboration de stratégies d'analyse des données, la préparation des données pour l'analyse, l'exploration, l'analyse et la visualisation des données, ... »,
"destination": "Oraclehttps://www.oracle.com \u00e2\u0080\u00a qu'est-ce-que-la-science-des-données",
"position": 4,
"postdater": "",
« Titre »: « Qu'est-ce que la science des données ? »,
"url": "https://www.oracle.com/what-is-data-science/"
},
{
"la description": "1er août 2023 \u00e2\u0080\u0094 La science des données est le domaine d'étude qui traite de vastes volumes de données à l'aide d'outils et de techniques modernes pour trouver des modèles invisibles, dériver ...",
"destination": "Simplilearn.comhttps://www.simplilearn.com \u00e2\u0080\u00un tutoriel sur la science des données",
"position": 5,
"postdater": "",
« Titre »: « Qu'est-ce que la science des données ? Une explication simple et plus encore »,
"url": "https://www.simplilearn.com/tutorials/data-science-tutorial/what-is-data-science"
},
{
"la description": « 15 juin 2023 \u00e2\u0080\u0094 Un data scientist utilise les données pour comprendre et expliquer les phénomènes qui les entourent et aider les organisations à prendre de meilleures décisions. »,
"destination": "Courserahttps://www.coursera.org \u00e2\u0080\u00a Articles Coursera \u00e2\u0080\u00a Données",
"position": 6,
"postdater": "",
« Titre »: « Qu'est-ce qu'un Data Scientist ? Salaire, compétences et comment ... »,
"url": "https://www.coursera.org/articles/what-is-a-data-scientist"
},
{
"la description": « La science des données est une combinaison de mathématiques, de statistiques, d'apprentissage automatique et d'informatique. La science des données consiste à collecter, analyser et interpréter des données pour... »,
"destination": "Great Learninghttps://www.mygreatlearning.com \u00e2\u0080\u00a blog \u00e2\u0080\u00a qu'est-ce-que-dat...",
"position": 7,
"postdater": "",
« Titre »: « Qu'est-ce que la science des données ? Guide du débutant »,
"url": "https://www.mygreatlearning.com/blog/what-is-data-science/"
},
{
"la description": « Les spécialisations et cours en science des données enseignent les fondamentaux de l'interprétation des données, de la réalisation d'analyses, ainsi que de la compréhension et de la communication de données exploitables... »,
"destination": "Courserahttps://www.coursera.org \u00e2\u0080\u00a parcourir \u00e2\u0080\u00a science des données",
"position": 8,
"postdater": "",
« Titre »: « Meilleurs cours de science des données en ligne [2023] »,
"url": "https://www.coursera.org/browse/data-science"
},
{
"la description": "5 avril 2023 \u00e2\u0080\u0094 La science des données est un domaine d'étude multidisciplinaire qui applique des techniques et des outils pour tirer des informations significatives et des informations exploitables ...",
"destination": « Intégré àhttps://builtin.com \u00e2\u0080\u00a science des données »,
"position": 9,
"postdater": "",
« Titre »: « Qu'est-ce que la science des données ? Un guide complet. »,
"url": "https://builtin.com/data-science"
}
],
"snackPack": {
"mapLink": "",
« Liens vers plus d'emplacements »: "",
"résultats": []
}
},
"état_original": 200,
"pc_status": 200,
"url": "https://www.google.com/search?q=data%20science"
}

Le résultat ci-dessus montre que le scraper « google-serp » fait son travail très efficacement. Il récupère toutes les informations importantes, y compris 9 résultats de recherche de la page de recherche Google associée, et nous fournit un objet JSON que nous pouvons facilement utiliser dans notre code selon les besoins.

Gérer la pagination sans effort

Pour extraire des pages de recherche Google, il est essentiel de maîtriser la pagination afin de recueillir des données complètes. Le scraper « google-serp » de Crawlbase fournit des informations précieuses dans sa réponse JSON : le nombre total de résultats, appelé « numberOfResults ». Ces informations nous servent de guide pour une gestion efficace de la pagination.

Votre scraper doit naviguer habilement à travers les différentes pages de résultats dissimulées dans la pagination pour capturer tous les résultats de recherche. Vous utiliserez le paramètre de requête « start » pour y parvenir avec succès, en reflétant la méthodologie de Google. Google affiche généralement neuf résultats de recherche par page, créant un écart constant de neuf résultats entre chaque page, comme illustré ci-dessous :

Pour déterminer la valeur correcte du paramètre de requête « start », il suffit d'incrémenter la position du dernier objet « searchResults » de la réponse et de l'ajouter à la valeur start précédente. Vous continuerez ce processus jusqu'à ce que vous ayez atteint le nombre de résultats souhaité ou jusqu'à ce que vous ayez récolté le nombre maximal de résultats disponibles. Cette approche systématique garantit la collecte de données précieuses, ce qui vous permet d'extraire des informations complètes à partir des pages de recherche de Google.

Mettons à jour l'exemple de code pour gérer la pagination et récupérer tous les produits :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
de base d'exploration importer API d'exploration
importer json

# Initialiser le Crawling API avec votre jeton Crawlbase Normal
api = API d'exploration({ 'jeton': 'CRAWLBASE_NORMAL_TOKEN' })

# URL de la page de recherche Google que vous souhaitez récupérer
google_search_url = 'https://www.google.com/search?q=data+science'

# options pour Crawling API
choix = {
'grattoir': 'google-serp'
}

# Liste pour stocker les résultats de recherche récupérés
résultats_de_recherche = []

def obtenir_le_total_des_resultats(url):
# Faire une demande pour extraire la page de recherche Google avec des options
réponse = api.get(url, options)

# Vérifiez si la demande a réussi
if réponse['code_d'état']== 200 et réponse['en-têtes']['pc_status']== «200 ':
# Chargement de JSON à partir du corps de la réponse après le décodage des données d'octets
response_json = json.loads(réponse['corps'].décoder('latin1'))

# Obtenir les résultats du scraper
scraper_result = réponse_json['corps']

# Extraire les informations de pagination
nombreDeRésultats = scraper_result.get("nombreDeRésultats", Aucun)
retourner nombreDeRésultats
d'autre:
impression(« Échec de la récupération de la page. Code d'état : », réponse['code_d'état'])
retourner Aucun

def scrape_search_results(url):
# Faire une demande pour extraire la page de recherche Google avec des options
réponse = api.get(url, options)

# Vérifiez si la demande a réussi
if réponse['code_d'état']== 200 et réponse['en-têtes']['pc_status']== «200 ':
# Chargement de JSON à partir du corps de la réponse après le décodage des données d'octets
response_json = json.loads(réponse['corps'].décoder('latin1'))

# Obtenir les résultats du scraper
scraper_result = réponse_json['corps']

# Extraction des résultats de recherche à partir de la réponse JSON
résultats = scraper_result.get("Résultats de la recherche", [])
search_results.extend(résultats)

d'autre:
impression(« Échec de la récupération de la page. Code d'état : », réponse['code_d'état'])

# Extraire les informations de pagination
nombreDeRésultats = obtenir_le_total_des_résultats(url_de_recherche_google) or 50
# Initialiser la position de départ pour les résultats de la recherche
valeur_début = 1

# limiter les résultats de recherche à 50 max pour l'exemple
# vous pouvez augmenter la limite jusqu'à numberOfResults pour récupérer le maximum de résultats de recherche
tout en valeur_de_début 50:
if valeur_début > nombreDeRésultats :
pause
page_url = f'{google_search_url}&début={start_value}'
scrape_search_results(page_url)
valeur_début = valeur_début + résultats_recherche[-1]['positionner'] + 1

# Traiter les résultats de recherche collectés selon les besoins
impression(f'Total des résultats de la recherche : {len(résultats de la recherche)}')

Exemple de sortie :

1
Résultats de recherche totaux : 47

Comme vous pouvez le voir ci-dessus, nous avons maintenant 47 résultats de recherche, ce qui est bien plus que ce que nous avions auparavant. Vous pouvez mettre à jour la limite dans le code (définie sur 50 pour l'exemple) et extraire n'importe quelle quantité de résultats de recherche dans la plage du nombre de résultats disponibles.

Sauvegarde des données dans la base de données SQLite

Une fois que vous avez réussi à extraire les résultats de recherche Google à l'aide de l'API Crawlbase, vous souhaiterez peut-être conserver ces données pour une analyse plus approfondie ou les utiliser dans vos applications. Un moyen efficace de stocker des données structurées comme les résultats de recherche consiste à utiliser une base de données SQLite, qui est légère, autonome et facile à utiliser en Python.

Voici comment vous pouvez enregistrer l'URL, le titre, la description et la position de chaque objet de résultat de recherche dans une base de données SQLite :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
importer sqlite3
de base d'exploration importer API d'exploration
importer json

def scrape_google_search
# Initialiser le Crawling API avec votre jeton Crawlbase Normal
api = API d'exploration({'jeton': 'CRAWLBASE_NORMAL_TOKEN'})

# URL de la page de recherche Google que vous souhaitez récupérer
google_search_url = 'https://www.google.com/search?q=data+science'

# Options pour Crawling API
choix = {
'grattoir': 'google-serp'
}

# Liste pour stocker les résultats de recherche récupérés
résultats_de_recherche = []

def obtenir_le_total_des_resultats(url):
# Faire une demande pour extraire la page de recherche Google avec des options
réponse = api.get(url, options)

# Vérifiez si la demande a réussi
if réponse['code_d'état']== 200 et réponse['en-têtes']['pc_status']== «200 ':
# Chargement de JSON à partir du corps de la réponse après le décodage des données d'octets
response_json = json.loads(réponse['corps'].décoder('latin1'))

# Obtenir les résultats du scraper
scraper_result = réponse_json['corps']

# Extraire les informations de pagination
nombreDeRésultats = scraper_result.get("nombreDeRésultats", Aucun)
retourner nombreDeRésultats
d'autre:
impression(« Échec de la récupération de la page. Code d'état : », réponse['code_d'état'])
retourner Aucun

def scrape_search_results(url):
# Faire une demande pour extraire la page de recherche Google avec des options
réponse = api.get(url, options)

# Vérifiez si la demande a réussi
if réponse['code_d'état']== 200 et réponse['en-têtes']['pc_status']== «200 ':
# Chargement de JSON à partir du corps de la réponse après le décodage des données d'octets
response_json = json.loads(réponse['corps'].décoder('latin1'))

# Obtenir les résultats du scraper
scraper_result = réponse_json['corps']

# Extraction des résultats de recherche à partir de la réponse JSON
résultats = scraper_result.get("Résultats de la recherche", [])
search_results.extend(résultats)

d'autre:
impression(« Échec de la récupération de la page. Code d'état : », réponse['code_d'état'])

def initialiser_base_de_données
# Créer ou se connecter à la base de données SQLite
conn = sqlite3.connect('search_results.db')
curseur = conn.curseur()

# Créer une table pour stocker les résultats de la recherche
curseur.execute('' '
CRÉER UNE TABLE SI ELLE N'EXISTE PAS résultats_de_recherche (
titre TEXTE,
url TEXTE,
description TEXTE,
position ENTIER
)
'' ')

# Valider les modifications et fermer la connexion à la base de données
conn.commit()
conn.close()

def insérer_les_résultats_de_la_recherche(liste_de_résultats):
# Créer ou se connecter à la base de données SQLite
conn = sqlite3.connect('search_results.db')
curseur = conn.curseur()

# Parcourez result_list et insérez des données dans la base de données
pour résultat in liste_de_résultats :
titre = résultat.get('Titre', '')
url = résultat.get('URL', '')
description = résultat.get('la description', '')
position = résultat.get('positionner', Aucun)

curseur.execute('INSÉRER DANS les VALEURS de résultats de recherche (?, ?, ?, ?)',
(titre, url, description, position))

# Valider les modifications et fermer la connexion à la base de données
conn.commit()
conn.close()

# Initialisation de la base de données
initialiser_base_de_données()

# Extraire les informations de pagination
nombreDeRésultats = obtenir_le_total_des_résultats(url_de_recherche_google) or 50
# Initialiser la position de départ pour les résultats de la recherche
valeur_début = 1

# limiter les résultats de recherche à 50 max pour l'exemple
# vous pouvez augmenter la limite jusqu'à numberOfResults pour récupérer le maximum de résultats de recherche
tout en valeur_de_début 50:
if valeur_début > nombreDeRésultats :
pause
page_url = f'{google_search_url}&début={start_value}'
scrape_search_results(page_url)
valeur_début = valeur_début + résultats_recherche[-1]['positionner'] + 1

# enregistrer les résultats de la recherche dans la base de données
insert_search_results(résultats_de_recherche)

if __nom__ == "__principale__":
scrape_google_search()

Dans le code ci-dessus, le scrape_google_search() La fonction est le point d'entrée. Elle initialise l'API Crawlbase avec un jeton d'authentification et spécifie l'URL de recherche Google qui sera récupérée. Elle définit également une liste vide appelée search_results pour collecter les résultats de recherche extraits.

La série scrape_search_results(url) La fonction prend une URL en entrée, envoie une requête à l'API Crawlbase pour récupérer la page de résultats de recherche Google et extrait les informations pertinentes de la réponse. Elle ajoute ensuite ces données à la search_results liste.

Deux autres fonctions clés, initialize_database() et insert_search_results(result_list), traite de la gestion d'une base de données SQLite. initialize_database() la fonction est responsable de la création ou de la connexion à un fichier de base de données nommé search_results.db et définir une structure de table pour stocker les résultats de la recherche. insert_search_results(result_list) la fonction insère les résultats de recherche extraits dans cette table de base de données.

Le script gère également la pagination en effectuant en continu des requêtes pour les pages de résultats de recherche suivantes. La limite maximale des résultats de recherche est fixée à 50 pour cet exemple. Les données extraites, y compris les titres, les URL, les descriptions et les positions, sont ensuite enregistrées dans la base de données SQLite que nous pouvons utiliser pour une analyse plus approfondie.

search_results aperçu de la base de données:

Capture d'écran de la base de données

7. Récupérez les résultats de recherche Google avec Crawlbase

Le scraping Web est une technologie transformatrice qui nous permet d'extraire des informations précieuses du vaste océan d'informations sur Internet, les pages de recherche Google étant une source de données de premier ordre. Ce blog vous a emmené dans un voyage complet dans le monde du scraping Web, en utilisant Python et Crawlbase Crawling API comme nos fidèles compagnons.

Nous avons commencé par comprendre l'importance du scraping Web, en révélant son potentiel pour rationaliser la collecte de données, améliorer l'efficacité et éclairer la prise de décision basée sur les données dans divers domaines. Nous avons ensuite présenté Crawlbase Crawling API, un outil robuste et convivial conçu pour le scraping Web, mettant l'accent sur son évolutivité, sa fiabilité et son accès aux données en temps réel.

Nous avons abordé les prérequis essentiels, notamment la configuration de votre environnement de développement, l'installation des bibliothèques nécessaires et la création d'un compte Crawlbase. Nous avons appris comment obtenir le jeton, configurer l'API, sélectionner le scraper idéal et gérer efficacement la pagination pour extraire des résultats de recherche complets.

Maintenant que vous savez comment faire du scraping Web, vous pouvez explorer et collecter des informations à partir des résultats de recherche Google. Que vous soyez quelqu'un qui aime travailler avec des données, un chercheur de marché ou un professionnel du monde des affaires, le scraping Web est une compétence utile. Cela peut vous donner un avantage et vous aider à acquérir des connaissances plus approfondies. Ainsi, lorsque vous commencerez votre parcours de scraping Web, j'espère que vous collecterez beaucoup de données utiles et que vous obtiendrez de nombreuses informations précieuses.

Nos API continuent de fonctionner avec les dernières modifications de Google

8. Foire aux questions (FAQ)

Q. Quelle est l'importance du scraping Web des pages de résultats de recherche Google ?

L'extraction des résultats de recherche Google sur le Web est importante car elle donne accès à une grande quantité de données disponibles sur Internet. Google est une passerelle principale vers l'information, et l'extraction de ses résultats de recherche permet diverses applications, notamment les études de marché, l'analyse de données, l'analyse de la concurrence et l'agrégation de contenu.

Q. Quels sont les principaux avantages de l’utilisation du Scraper « google-serp » ?

Le scraper « google-serp » est spécialement conçu pour scraper les pages de résultats de recherche Google. Il fournit une réponse JSON structurée avec des informations essentielles telles que les résultats de recherche, les annonces, les recherches associées, etc. Ce scraper est avantageux car il simplifie le processus d'extraction des données, ce qui facilite le travail avec les données que vous collectez. Il vous permet également de capturer toutes les informations pertinentes des pages de recherche dynamiques de Google.

L'extraction des résultats SERP de Google n'est pas illégale. Cependant, vous devez respecter les conditions d'utilisation de Google. Il est préférable d'envisager d'utiliser des API de réclamation, car elles fournissent un accès structuré aux données dans les limites éthiques.

Q. Est-il possible d'extraire les résultats de Google Events ?

Google permet aux utilisateurs de rechercher des événements tels que des concerts, des festivals, des expositions et des rassemblements qui se déroulent dans le monde entier. Lorsque vous saisissez des mots clés pertinents, un tableau d'événements apparaît au-dessus des résultats de recherche standard, affichant des détails tels que les titres des événements, les lieux, les dates, les artistes, etc. Bien que ces données publiques puissent être récupérées, il est essentiel de se conformer à toutes les directives et réglementations légales.

Q. Puis-je extraire les résultats de Google Local ?

Les résultats de Google Local sont déterminés par un mélange de pertinence et de proximité par rapport à l'utilisateur. Par exemple, la recherche de « cafés » affichera des options à proximité ainsi que des itinéraires. Ces résultats diffèrent de ceux de Google Maps, qui se concentre sur les calculs d'itinéraire et les recherches basées sur la localisation. L'extraction des résultats de Google Local est autorisée pour un usage personnel ou professionnel, à condition de respecter les exigences légales.

Q. Puis-je extraire les résultats de Google Video ?

L'extraction des résultats de vidéos Google accessibles au public est généralement légale, mais il est essentiel de respecter toutes les règles et réglementations applicables. L'extraction de métadonnées telles que les titres, les descriptions et les URL des vidéos peut être utile à diverses fins. Cependant, si vous prévoyez de collecter de gros volumes de données, il est judicieux de demander l'avis d'un conseiller juridique pour éviter d'éventuels problèmes. Donnez toujours la priorité à la conformité lors de la collecte d'informations publiques auprès de Google.