Qu'est ce que le web scraping et le web crawling ?

Les Crawlers et Scrapers sont des programmes informatiques. Crawling et Scraping sont deux techniques différentes d’acquisition automatique des données sur le Web. Ces deux techniques peuvent être utilisées de manière complémentaire.

Crawlers et Scrapers sont développés par des ingénieurs qui ont une connaissance approfondie de la programmation. Ils utilisent régulièrement différents

langages de programmation (Python, Java, ...) pour réaliser les Scrapers et les Crawlers les plus performants.

 

Le Crawling

Un Crawler est un programme qui a pour fonction de parcourir les pages web de site en site afin d’en extraire toutes les informations. Il fait cela de manière automatique et sans connaissance préalable des sites visités.

Le Crawler est aussi connu sous d’autres noms : spider, web spider, bot, harvester.

Au départ, le Crawler possède une liste définie de sites web, il en parcourt chaque page et suit ensuite les liens qui l’amènent vers des sites non présents initialement dans la liste.

Avant de se lancer dans la mise en place d’un outil de crawling, il est important de connaître plus en détail plusieurs éléments : performance, politesse, délai de réponse, cible, stratégie et implémentation.

-Performance

Il faut analyser les problèmes et les besoins pour pouvoir estimer le temps et le travail qui seront nécessaires pour configurer le crawl.

-Politesse

Il faut éviter de saturer les serveurs des sites web visités par le crawler. Ainsi, la fréquence des explorations de sites doit être  fonction de leur fréquentation.

Le nombre de requêtes dépend du site qu’il est envisagé de crawler : si le site bénéficie d’une fréquentation importante alors il sera possible de lancer un Crawl avec un nombre important de requêtes peu espacées dans le temps.

A contrario, si le site n’a pas un trafic important, les requêtes doivent être largement espacées dans le temps.

-Délai de réponse

Un délai de réponse trop long indiquera peut-être que le site crawlé ne supporte pas la “charge” (par charge on entend un nombre élevé de requêtes.).

-Cible et profondeur de Crawl

On peut également choisir de crawler intégralement un site ou un sous en-

semble de ses pages. On parle alors de profondeur de Crawl qui correspond aux niveaux parcourus par le robot.

Théoriquement, le crawler n’a pas d’autre limite de profondeur que celle qu’on lui a fixé.

-Implémentations

Autre problème à résoudre avant de lancer un Crawl : Comment stocker les

données extraites ? Seront-elles stockées sans traitement ? Devront-elles être

traitées pour n’en stocker que les informations considérées comme pertinentes ? Le serveur qui recueillera les données est-il adapté ?

 

Le Scraping

Le scraper est, tout comme le crawler, un programme informatique capable d’extraire de l’information des pages web. Cependant, contrairement au crawler qui ne requiert aucune connaissance des sites qu’il doit visiter, le scraper nécessite une bonne étude des sites avant d’envisager un travail d’extraction.

Les sites et leurs structures doivent être analysés avant de démarrer la collecte des données, il faut connaître les informations que l’on souhaite extraire et donc avoir une bonne connaissance du langage HTML. La mise en place d’un scraper requiert une configuration préalable afin d’expliquer au programme “le plan” qu’il doit suivre pour extraire l’information.

A partir de cela, il est possible d’obtenir une information “sûre” et structurée.

 

 

 

 

Source d’information : Livre Blanc DATA PUBLICA  partie crawling et scraping

 

 

Article publié le 2 novembre 2015 par Comité de Caritat.

Posez votre question, nos experts vous répondront