Les perspectives futures du web scraping révèlent une opportunité inédite pour transformer la recherche d’emplois sur LinkedIn. En intégrant le traitement du langage naturel, cette étude propose une méthode innovante pour extraire et structurer des données, essentielle dans un monde de Big Data en constante évolution.
CHAPITER 3
CONCEPTION ET IMPLEMENTATION
Introduction
Ce chapitre représente la partie applicative de notre travail. Par conséquent, nous allons présenter dans ce qui suit notre “Web Scraper” qui travaille sur le portail LinkedIn.
L’objectif de notre web scraper est d’extraire l’information hébergée dans LinkedIn et qui concerne les emplois et les profils proposés.
Le déroulement de notre phase applicative se résume en deux parties :
La première concernant les emplois est supportée par l’utilisation de la bibliothèque « requests » pour assurer l’accès aux chemins désirés et la bibliothèque « BeautifulSoup » pour le travail d’analyse et d’extraction.
Pour la seconde partie concernant l’extraction des profils on a basé sur l’utilisation de la bibliothèque « Selenium » pour contrôler le navigateur et la bibliothèque « parsel » pour l’analyse et l’extraction.
Présentation de l’environnement technique du travail
Ce travail a été réalisé sous le système d’exploitation Windows 10 en utilisant les composantes techniques suivantes :
Python :
[10_perspectives-futures-du-web-scraping-sur-linkedin_10]
Figure 3. 1: Python v3
Est le langage de programmation le plus utilisé dans le domaine du Big Data et de la Data Science.
Créé en 1991, apparu à l’époque comme une façon d’automatiser les éléments les plus ennuyeux de l’écriture de scripts ou de réaliser rapidement des prototypes d’application.
Le choix de l’environnement Python est motivé par sa richesse en bibliothèques avec lesquelles on a travaillé à savoir :
BeautifulSoup : est une bibliothèque qui permet de récupérer facilement des informations à partir de pages Web. Il se trouve au sommet d’un analyseur HTML ou XML, fournissant des idiomes pythoniques pour itérer, rechercher et modifier l’arborescence d’analyse.
Requests : la bibliothèque « Requests » est un standard de facto pour effectuer des requêtes HTTP en Python. Elle résume les complexités de la création de demandes derrière un simple API afin que nous puissions nous concentrer sur l’interaction avec les services et la consommation de données dans nos applications. Cette bibliothèque reprend tous les travaux autour de Python HTTP/1.1 – et rend l’intégration avec des web services très facile. Pas besoin d’ajouter des query strings aux URLs manuellement, ou d’encoder nous-même nos datas pour les POST. Les Keep-alive et le groupement des connexions HTTP sont 100% automatisés, grâce à urllib3, qui est directement intégré à Requests.
Selenium : est une bibliothèque de commandes pour aider une interface de programmation avec un navigateur comme un véritable utilisateur. Selenium assure la recherche d’éléments dans le fichier HTML d’une page Web. Plusieurs navigateurs / pilotes sont pris en charge par cette bibliothèque tels que Firefox, Chrome et Internet Explorer, ainsi que le protocole Remote.
Parsel : est une bibliothèque Python sous licence BSD permettant d’extraire et de supprimer des données HTML et XML à l’aide de sélecteurs XPath et CSS, éventuellement combinés avec des expressions régulières.
Sublime Text :
Est un éditeur de texte vraiment puissant, il est multiplateforme, comporte des fonctionnalités de base mais également des fonctionnalités avancées très utiles (sélection verticale, multiple sélection, etc.), ainsi qu’une modularité qui nous permet, via un système de packages, de télécharger très facilement des fonctionnalités développées par de nombreux développeurs et testées par une importante communauté grandissante de jours en jours. Il permettra aux développeurs expérimentés et novices un gain de temps importants pour pouvoir se concentrer sur l’élément le plus important, le code.
[10_perspectives-futures-du-web-scraping-sur-linkedin_11]
Figure 3. 2: Interface du Sublime Text 3
Phases d’exécution
Le travail de notre scraper se déroule en deux phases. La première concerne l’extraction des emplois proposés sur LinkedIn et la deuxième concerne la recherche des profils toujours sur LinkedIn.
Pour Les Emplois
Dans cette partie, le travail est assuré par trois tâches (voir figure 3.1) :
- Accès à la page de recherche LinkdIn
- Analyse et extraction
- Mise à jour de la base de données
Accès à la Page de recherche LinkedIn
Extraction
Mise à jour de La base de données
Figure 3. 3: Les phases d’exécution pour Emplois
Pour les Profils
Figure 3. 4: Les Phases d’exécution pour les Profils
Prendre le contrôle du navigateur
Accès et Connexion au LinkedIn
Accès et recherche dans Google
Accès au LinkedIn et extraction
Mise à jour de La base de données
Dans cette partie, le travail est assuré par trois tâches (voir figure 3.2) :
- Prendre le contrôle du navigateur
- Accès et connexion au LinkedIn
- Accès et recherche dans Google
- Accès au LinkedIn et extraction
- Mise à jour de la base de données
Présentation du Scraper réalisé
Dans cette section, nous allons présenter l’interface de l’application avec quelques détails techniques concernant sa réalisation.
Interface du scraper
[10_perspectives-futures-du-web-scraping-sur-linkedin_12]
Figure 3. 5: L’interface de l’Application
Démarche technique sous Python
[10_perspectives-futures-du-web-scraping-sur-linkedin_13] – Utilisation des bibliothèques
Pour Les Profils
– Accès au LinkedIn
[10_perspectives-futures-du-web-scraping-sur-linkedin_14]
– Accès et recherche dans Google. L’accès au LinkedIn
[10_perspectives-futures-du-web-scraping-sur-linkedin_15]
– Extraction des Informations du Profil
– Analyse de page et extraction d’information pour chaque Profil
[10_perspectives-futures-du-web-scraping-sur-linkedin_16]
– Sauvegarde des résultats dans un fichier CSV
[10_perspectives-futures-du-web-scraping-sur-linkedin_17]
Pour Les Emplois
– Accès à l’URL Donné
[10_perspectives-futures-du-web-scraping-sur-linkedin_18]
– Analyse de page et extraction d’information pour chaque emploi
[10_perspectives-futures-du-web-scraping-sur-linkedin_19]
– Sauvegarde des résultats dans un fichier Excel
[10_perspectives-futures-du-web-scraping-sur-linkedin_20]
Conclusion
Dans ce chapitre, nous avons présenté l’implémentation de notre Application, l’environnement et les outils et les bibliothèques de développement utilisés. Nous avons présenté également les étapes d’exécutions avec leurs tâches techniques associées ainsi que les résultats obtenus.
CONCLUSION GENERALE
Avec l’avènement du paradigme Big data, les grandes entreprises qui veulent faire la course d’entête doivent investir énormément dans leurs systèmes décisionnels, et en particulier utiliser ce paradigme pour mieux comprendre les marchés, maîtriser leurs actions et faire vivre à leurs clients les expériences qu’ils attendent.
L’utilisation du Big data est cernée par le défi de prendre en charge une gigantesque masse d’information avec plusieurs formes et qui proviennent de différentes sources. Avec la diversité de ces informations et de ses ressources et la multiplicité des composantes web, le processus de l’extraction du contenu web est devenu de plus en plus indispensable. Il permet de trouver la bonne information et dans les meilleures conditions d’utilisation.
Dans ce mémoire, nous avons présenté une méthode d’extraction de données à partir du web en utilisant un Web Scraping. Ce dernier est basé sur l’extraction d’un contenu spécifique dans un environnement web plein de déchets et d’informations inutiles.
Pour ce faire, nous avons présenté dans ce mémoire le domaine de Big data avec ses composantes connexes ainsi que le domaine du Web scraping et ses techniques. Nous avons présenté également notre scraper réalisé sous l’environnement Python avec ses différentes phases de travail. Notre scraper concerne l’extraction de l’information concernant les emplois et les profils hébergés dans le portail LinkedIn.
Pour des futures améliorations, nous proposons d’évoluer ce produit afin qu’il puisse extraire n’importe quel type d’information de n’importe quel site web. Nous proposons aussi de penser aux techniques de liaison permettant d’affilier directement les informations extraites avec l’application utilisatrice.
Questions Fréquemment Posées
Quelles bibliothèques Python sont utilisées pour le web scraping sur LinkedIn ?
Les bibliothèques utilisées sont BeautifulSoup, Requests, Selenium et Parsel.
Comment fonctionne le web scraper pour l’extraction des emplois sur LinkedIn ?
Le web scraper utilise la bibliothèque ‘requests’ pour accéder aux chemins désirés et ‘BeautifulSoup’ pour l’analyse et l’extraction des informations sur les emplois.
Quel est l’objectif principal du web scraper développé dans cette étude de cas ?
L’objectif principal est d’extraire l’information hébergée dans LinkedIn concernant les emplois et les profils proposés.