Comment l’innovation transforme le Web Scraping en 2023 ?

Pour citer ce mémoire et accéder à toutes ses pages
🏫 Université Mohamed Boudiaf - M'sila - Mathématiques et Informatique - Informatique
📅 Mémoire de fin de cycle en vue de l'obtention du diplôme de Master Académique - 2019/2020
🎓 Auteur·trice·s
Aichouche Mohamed et Mokhnache Belkasem
Aichouche Mohamed et Mokhnache Belkasem

L’innovation dans le web scraping transforme la recherche d’emplois sur LinkedIn, révélant des méthodes inédites pour extraire et structurer des données. Cette étude propose une approche révolutionnaire, alliant traitement du langage naturel et ontologies, avec des implications majeures pour l’accès à l’information dans le Big Data.


Extraction du contenu web (Web Scraping) :

Le Web Scraping est une technique permettant d’extraire des données du Web et de les enregistrer dans un système de fichiers (CSV, JSON ou XML) ou une base de données pour les récupérer ou les analyser ultérieurement. Généralement, les données Web sont grattées à l’aide du protocole HTTP (Hypertext Transfer Protocol) ou via un navigateur Web. Ceci est accompli soit manuellement par un utilisateur, soit automatiquement par un robot ou un robot d’indexation Web (Web crawling) [29].

Processus de Web Scraping

Le processus de récupération des données sur Internet (en anglais : The process of scraping data) peut être divisé en deux étapes séquentielles. Acquérir des ressources Web, puis extraire les informations souhaitées à partir des données acquises. Plus précisément, un programme de grattage Web commence par composer une requête HTTP afin d’acquérir des ressources à partir d’un site Web ciblé.

Cette demande peut être formatée dans une URL contenant une requête GET ou dans un message HTTP contenant une requête POST. Une fois la demande reçue et traitée avec succès par le site Web ciblé, la ressource demandée sera extraite du site Web, puis renvoyée au programme de scraping Web. La ressource peut être sous plusieurs formats, tels que des pages Web construites à partir de HTML, des sources de données au format XML ou JSON ou des données multimédia telles que des images, des fichiers audio ou vidéo.

Une fois les données Web téléchargées, le processus d’extraction continue d’analyser, de reformater et d’organiser les données de manière structurée. Il existe deux modules essentiels d’un programme de nettoyage Web: un module permettant de composer une requête HTTP, tel que Urllib2 ou sélénium, et un autre permettant d’analyser et d’extraire des informations de code HTML brut, telles que Erreur ! Référence de lien hypertexte non valide. BeautifulSoup ou Pyquery.

  • Urllib2 : définit un ensemble de fonctions permettant de traiter les requêtes HTTP, telles que l’authentification, les redirections, les cookies, etc…
  • Selenium : est un wrapper de navigateur Web permettant de créer un navigateur Web, tel que Google Chrome ou Internet Explorer, et d’activer les utilisateurs à automatiser le processus de navigation sur un site Web par programmation.
  • BeautifulSoup : est conçu pour extraire le contenu d’un document HTML et XML. Il fournit des fonctions Pythonic pratiques pour naviguer, rechercher et modifier un arbre d’analyse; une boîte à outils pour décomposer un fichier HTML et extraire les informations souhaitées via lxml ou html5lib.[29]

Modalités d’extraction

On peut faire une distinction de base concernant le web scraping selon la modalité d’extraction des données :

Extraction manuelle:

Une personne navigue le web pour extraire informations pertinentes aux intérêts depuis les pages qu’elle visite. La pratique la plus commune pour ce type d’extraction et le simple copier/coller.

Extraction sémi-automatique :

Une personne utilise un logiciel ou une application web pour aspirer/nettoyer les éléments d’une ou plusieurs pages web pertinents aux intérêts.

Extraction automatique

L’extraction se fait de manière totalement automatique grâce à l’émulation, par une machine, d’un navigateur web qui visite des pages et qui est capable de suivre les différents liens afin de générer automatiquement un corpus de pages liées entre elles. [30]

Modalités de traitement

Dans les cas d’extraction automatique ou sémi-automatique on peut distinguer ultérieurement par rapport au traitement des données recueillies :

Aucun traitement

Les données recueillies ne sont pas traitées et sont tout simplement rendues disponibles – par exemple à travers un fichier de texte ou un spreadsheet – pour une analyse successive, à travers notamment un autre logiciel spécialisé (e.g. analyse de texte).

Visualisation des données brutes

Les données ne sont pas traitées mais seulement organisées selon des critères et les résultats sont affichés à l’aide de représentations graphiques similaires au format original (e.g. news feed, mash-up).

Traitement des données

Les données sont traitées à travers des algorithmes qui déterminent un certain résultat sur la base des analyses (ex. comparaison de prix entre marchands online).

Traitement des données et visualisation

Les données sont traitées et, en plus, une représentation graphique adéquate à l’analyse des données et également fournie (ex. nuages de mots-clés, cartes conceptuelles). [30]

Techniques d’extraction

Dans le cadre d’extractions automatiques ou semi-automatiques, il est nécessaire d’identifier dans les documents analysés les données d’intérêt afin de les séparer de l’ensemble du contenu. Voici une liste non exhaustive de techniques qui peuvent être utilisées :

  • Expressions régulières
  • XPath
  • Traverser le DOM

Expressions régulières

Les expressions régulières sont une fonctionnalité disponible pratiquement dans tout langage de programmation et qui permet d’identifier des patterns à l’intérieur de contenu textuel.

Grâce à une syntaxe qui permet de combiner plusieurs règles d’analyse en même temps, il est possible d’extraire de manière ponctuelle des éléments qui correspondent aux critères définis dans l’expression régulière. Le mécanisme consiste à rechercher toutes les ressemblances entre la chaîne de caractères à trouver (le pattern) à l’intérieur du contenu cible de l’analyse. Les expressions régulières sont une technique très puissante d’extraction de contenu car elles s’appliquent indépendamment de la structure du document analysé. Cette puissance nécessite cependant une syntaxe assez complexe qui n’est pas très intuitive.

XPath

Est un standard duW3C (l’organisme qui s’occupe des standards du Web) pour trouver des éléments dans un document XML. Ce langage exploite la structure hiérarchique des nœuds (et attributs) d’un document XML et nécessite par conséquent une structure de document très précise, ce qui n’est pas forcément le cas dans les pages HTML.

Traverser le DOM

Cette technique est similaire à XPath car elle exploite également la structure hiérarchique d’une page web à travers le DOM (Document Object Model). Il s’agit encore une fois d’un standard W3C qui permet d’accéder au contenu des différentes balises d’une page HTML grâce à leur positionnement hiérarchique dans la page. [27]

[8_innovation-dans-le-web-scraping-revolutionnez-vos-recherches_8]

Source: URL

Figure 2. 3: Traverser le DOM

Web Scraping et HTML

Les difficultés dans l’extraction de données à partir d’une page web sont liées au langage HTML lui-même c’est-à-dire le contenu du page web. Le HTML5 introduit des nouvelles balises qui ont principalement un intérêt sémantique. Les balises de structuration du contenu Dans la perspective des développeurs de pages web il y a souvent des éléments qui sont présents dans la plupart des sites : une entête qui suggère l’argument du site, un menu de navigation qui permet d’accéder aux différentes ressources disponibles, le contenu principal de la page (c’est-à-dire ce qui la rend « unique » par rapport aux autres pages du site), et ainsi de suite.

Avant l’introduction de balises spécifiques en HTML5, les développeurs utilisaient pour chacun de ces éléments récurrents une balise « div » à laquelle ils associaient une classe souvent avec une relation sémantique avec le contenu, par exemple « div class= »header » » pour l’entête, « div class= »navigation » » pour le menu, et ainsi de suite.

Cette pratique était cependant loin de représenter un standard : d’une part, chaque développeur pouvait choisir son propre nom de classe (par exemple dans sa propre langue maternelle), et de l’autre les classes sont des éléments de style et en accord avec les bonnes pratiques de développement, il faudrait séparer le contenu de la forme.

Dans cette perspective, HTML5 introduit des balises telles que : header, aside, footer, main, article, section… [29]

Outils Web Scraping

Il existe plusieurs logiciels et techniques pour faire du web scraping (voir à ce propos Outils textmining). La liste suivante illustre seulement des outils de « bas niveau » (c’est-à-dire qui ne prévoient pas une finalité plus ou moins explicite, mais qui intègrent le scraping dans une logique de programmation plus étendue)

outil

Langage

Description

rvest

R

Paquet de R qui permet d’importer facilement des données depuis de page web

goutte

PHP

Bibliothèque PHP pour Web Scraping/crawling

jquery

JavaScript

Bibliothèque qui permet, notamment grâce aux requêtes asynchrones (AJAX) de faire des scraping coté client

scrapy

Python

Bibliothèque python pour Web Scraping/crawling

Tableau 2. 1: Logiciels du Web Scraping

________________________

29 Source de l’image.

30 Source de l’image.

27 Source de l’image.


Questions Fréquemment Posées

Qu’est-ce que le Web Scraping?

Le Web Scraping est une technique permettant d’extraire des données du Web et de les enregistrer dans un système de fichiers (CSV, JSON ou XML) ou une base de données pour les récupérer ou les analyser ultérieurement.

Comment fonctionne le processus de Web Scraping?

Le processus de récupération des données sur Internet peut être divisé en deux étapes séquentielles : acquérir des ressources Web, puis extraire les informations souhaitées à partir des données acquises.

Quelles sont les modalités d’extraction des données en Web Scraping?

On peut faire une distinction de base concernant le web scraping selon la modalité d’extraction des données : extraction manuelle, extraction sémi-automatique et extraction automatique.

Rechercher
Télécharger ce mémoire en ligne PDF (gratuit)

Laisser un commentaire

Votre adresse courriel ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Scroll to Top