Débuter dans le Web Scrapping avec python

Débuter dans le Web Scrapping avec python

Qu’est-ce que le Web Scraping ?


Le web scraping est essentiellement la collecte de données publiques par un processus automatisé. Il existe des milliers de raisons pour lesquelles on peut vouloir collecter ces données publiques, par exemple pour trouver des employés potentiels ou recueillir des renseignements sur la concurrence. Chez ScrapFly, nous avons effectué des recherches approfondies sur les applications de web scraping, et vous pouvez trouver nos conclusions sur notre page Web Scraping Use Cases.

Pour scraper un site Web avec python, nous avons généralement affaire à deux types de problèmes : la collecte des données publiques disponibles en ligne, puis l’analyse de ces données pour obtenir des informations structurées sur les produits. Dans cet article, nous allons examiner ces deux étapes et consolider les connaissances à l’aide d’un projet d’exemple.

Connexion : Principes fondamentaux de HTTP


Pour collecter des données à partir d’une ressource publique, nous devons d’abord établir une connexion avec elle. La majeure partie du Web est servie par HTTP, qui est assez simple : nous (le client) envoyons une requête au site Web (le serveur) pour un document spécifique, une fois que le serveur traite notre requête, il répond avec le document demandé – un échange très simple !

illustration d’un échange http standard
illustration d’un échange HTTP standard

Comme vous pouvez le voir sur cette illustration, nous envoyons un objet de requête composé de la méthode (ou type), de l’emplacement et des en-têtes. En retour, nous recevons un objet réponse qui se compose d’un code d’état, d’en-têtes et du contenu du document lui-même.
Jetons un coup d’œil rapide à chacun de ces composants, à leur signification et à leur utilité pour le web scraping.

Comprendre les requêtes et les réponses
En matière de web scraping, il n’est pas vraiment nécessaire de connaître tous les détails des requêtes et des réponses HTTP, mais il est bon d’avoir une vue d’ensemble et de savoir quelles parties de ce protocole sont particulièrement utiles pour le web scraping. Voyons cela de plus près !

Méthode de requête
Les requêtes Http sont divisées en plusieurs types qui remplissent des fonctions distinctes :

Les requêtes GET sont destinées à demander un document.
Les requêtes POST sont destinées à demander un document en envoyant un document.
Les requêtes HEAD sont destinées à demander des méta-informations sur les documents.
Les requêtes PATCH sont destinées à mettre à jour un document.
Les requêtes PUT sont destinées à créer un nouveau document ou à le mettre à jour.
Les requêtes DELETE sont destinées à supprimer un document.
En ce qui concerne le web scraping, nous sommes surtout intéressés par la collecte de documents, nous travaillerons donc principalement avec des requêtes de type GET et POST. De plus, les requêtes HEAD peuvent être utiles dans le cadre du web scraping afin d’optimiser la bande passante – parfois, avant de télécharger le document, nous pouvons vouloir vérifier ses métadonnées pour savoir si cela en vaut la peine.

Emplacement des requêtes
Pour comprendre l’emplacement des ressources, nous devons d’abord jeter un coup d’œil à la structure même de l’URL :

Illustration des parties de l’url : exemple de structure d’une URL

Ici, nous pouvons visualiser chaque partie d’une URL : nous avons le protocole, qui, lorsqu’il s’agit de HTTP, est soit http soit https. Ensuite, nous avons l’hôte qui est essentiellement l’adresse du serveur qui est soit un nom de domaine soit une adresse IP. Enfin, nous avons l’emplacement de la ressource et quelques paramètres personnalisés.
Si vous n’êtes pas sûr de la structure d’une URL, vous pouvez toujours lancer Python et le laisser la découvrir pour vous :

from urllib.parse import urlparse
urlparse(« http://www.domain.com/path/to/resource?arg1=true&arg2=false »)

ParseResult(scheme=’http’, netloc=’www.domain.com’, path=’/path/to/resource’, params= », query=’arg1=true&arg2=false’, fragment= »)


En-têtes de requête
Bien que l’on puisse penser que les en-têtes de requête ne sont que des métadonnées mineures, ils sont extrêmement importants pour le web scraping ! Les en-têtes contiennent des détails essentiels sur la requête, comme : qui demande les données ? Quel type de données attend-il ? Si vous vous trompez, l’accès au site peut être refusé au scraper.

Examinons quelques-uns des en-têtes les plus importants et leur signification :

User-Agent est un en-tête d’identité qui indique au serveur qui demande le document.

Débuter dans le Web Scrapping avec python
Débuter dans le Web Scrapping avec python

Un ensemble de solutions métiers, des services et de l’innovation pour optimiser votre entreprise Webblue_heart,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur  and Mobileyellow_heart,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur

,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur
,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur
,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur
,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur
,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur
,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur ,  Solution ERP, website ecommerce, mobile developpeur

 518 total views,  2 views today

One thought on “Débuter dans le Web Scrapping avec python”

  1. […] Une fois les librairies installées, suivez les étapes ci-dessous pour récupérer des données sur le web en python3. […]

Add a Comment

Your email address will not be published.