Skip to main content

Qu'est ce que le web scraping?

Une brève histoire du web scraping

Le web scraping, bien que souvent associé à l'ère moderne d'Internet, a des racines qui remontent aux débuts du web lui-même. Le World Wide Web a été créé en 1989 par Sir Tim Berners-Lee, suivi du premier navigateur web en 1991. En 1993, le premier robot d'indexation, connu sous le nom de Wanderer, a été lancé avec pour but de mesurer la taille du web. Plus tard cette année-là, le premier moteur de recherche basé sur un robot, JumpStation, a vu le jour. Avec le lancement de Beautiful Soup en 2004, un parseur HTML populaire écrit en Python, le web scraping tel que nous le connaissons aujourd'hui est né. Il a évolué pour devenir un outil essentiel pour l'extraction de données, la surveillance des prix, et bien plus encore.

Web crawling vs. web scraping : quelle est la différence?

Le web scraping a évolué pour devenir une partie essentielle de la technologie pour presque toutes les entreprises qui traitent de grandes quantités de données. Des secteurs tels que l'immobilier, le commerce électronique, le marketing et les médias, la recherche et l'éducation, l'IA et l'apprentissage automatique dépendent tous de l'extraction de données. Le web crawling consiste à parcourir les pages web et à collecter des informations, tandis que le web scraping va plus loin en extrayant des données spécifiques à partir de ces pages. Sans le web scraping, il serait impossible de récupérer et de stocker la quantité incroyable d'informations numériques nécessaires pour prendre des décisions intelligentes ou alimenter les outils de l'industrie.

Est-ce que le web scraping est légal?

Le web scraping est légal, mais il y a des limites. Tout comme la conduite est légale, mais pas la vitesse excessive, le web scraping est légal tant que vous ne violez pas les lois concernant des choses comme les données personnelles ou les droits d'auteur. Il est important de comprendre les lois et les réglementations applicables dans votre juridiction et de s'assurer que vous ne violez pas les droits de propriété intellectuelle ou les lois sur la confidentialité. Les questions éthiques entrent également en jeu, et il est essentiel de respecter les termes et conditions du site web que vous scrappez.

Est-ce que le web scraping est facile?

Le web scraping peut être à la fois simple et complexe. Collecter des données à partir du web est simple, mais accéder et copier ces informations à grande échelle peut être plus difficile. Cela nécessite une certaine astuce et des compétences techniques. Les défis incluent la navigation à travers les mesures de sécurité du site web, la gestion de grandes quantités de données, et l'adaptation aux changements constants dans la structure des pages web. Les technologies modernes et les mesures anti-bot peuvent rendre le processus encore plus compliqué.

Les défis du web scraping

Les sites web prennent souvent des mesures de protection contre les robots, ce qui peut entraîner le blocage de votre bot. Une solution à ce problème est un web scraper basé sur le cloud qui envoie chaque requête avec une adresse IP différente. Cela permet d'éviter les limites de taux IP et les CAPTCHAs, qui sont souvent utilisés pour bloquer les bots. Les techniques avancées telles que la modification des empreintes digitales du navigateur peuvent également être nécessaires pour éviter d'être détecté. Les proxies, les en-têtes de navigateur et les empreintes digitales sont autant de méthodes utilisées pour déjouer les défenses des sites web.

Outils pour le web scraping

Il existe de nombreux outils pour le web scraping, y compris des bibliothèques et des frameworks, des clients HTTP et des analyseurs, ou des web scrapers préconstruits qui nécessitent peu ou pas de connaissances en codage. Certains des outils populaires incluent Requests, Beautiful Soup, Scrapy, Selenium, et Playwright. Chacun de ces outils offre des fonctionnalités uniques et peut être utilisé pour différents types de tâches de web scraping. Par exemple, Requests est idéal pour envoyer des requêtes HTTP, tandis que Beautiful Soup est excellent pour analyser le HTML.

Outils de web scraping préconstruits

IncorporAI propose une gamme de scrapers prêts à l'emploi qui facilitent la vie des développeurs ou ne nécessitent pas de compétences en codage. Il existe deux types de web scrapers : les scrapers universels et les scrapers spécifiques au site. Les scrapers universels peuvent extraire des données de n'importe quel site web, tandis que les scrapers spécifiques au site sont conçus pour extraire des données de sites web spécifiques. Ces outils préconstruits peuvent économiser beaucoup de temps et d'efforts, en particulier pour ceux qui ne sont pas familiers avec le codage.

Outils améliorés par l'IA

Le web scraping est également lié à l'IA, car le web est la source la plus pratique pour créer et organiser des ensembles de données pour alimenter les modèles d'IA. IncorporAI propose également une gamme d'outils GPT et AI-enhanced pour de nombreux cas d'utilisation, y compris le Website Content Crawler, le GPT Scraper, et l'AI Product Matcher. Ces outils utilisent l'intelligence artificielle pour améliorer l'efficacité et la précision de l'extraction de données. L'IA peut aider à comprendre le contenu, à identifier les modèles et à extraire des informations de manière plus précise et efficace.

Agent conversationnel de support et de documentation pour un logiciel SAAS

Le context
L'emetteur du besoin est un éditeur de logiciel de gestion d'établissements de tourisme.  C'est un logiciel SAAS à la pointe des standards du web et ultra connecté par API à un grands nombre de plateformes de réservations incontournables. Le logiciel est ultra complet, ses fonctionnalités vont de la prise de réservations, à la comptabilité, le marketing, la communication etc.

La problématique
Le logiciel est si complet que son utilisation requiert une formation initiale et régulièrement ses utilisateurs sont amenés à solliciter le centre de support pour se rafraichir la mémoire à défaut de consulter la documentation en ligne disponible en PDF ou sur la plateforme Confluence d'Atlassian.

L'enjeu
L'objectif est donc de rapprocher la documentation de l'utilisateur afin de diminuer la frustration et de soulager les équipes de support sollicitées par email ou téléphone.

La solution
La mise à disposition au sein du logiciel d'un chatbot disponible en permanence sur chacune des pages. Ce chatbot conversationnel évolue comme chatGPT il utilise les models d'OpenAI, à la différence qu'il est incollable sur la documentation et ne répond qu'aux questions concernant le logiciel ou des informations publiques de l'entreprise.

La technologie
Par chance langChain dispose d'un connecteur pour la plateforme Confluence.

L'Automation
Dans le cas où le bot ne serait pas capable de répondre efficacement à la question de l'utilisateur, le bot enverra une copie de la conversation à l'équipe du support qui aura alors la mission de compléter la documentation.

Prochainement?
La documentation pourra prochainement être générée automatiquement. En permettant à un Agent LLM de se connecter au répertoire Github du logiciel. Celui-ci sera alors capable d'en comprendre le code et de rédiger une documentation complête compréhensible par chacun dans n'importe quelle langue. #GPT4 #CodeInterpreter #langChain #Github #Gitlab

Intégration de l'API ChatGPT dans les formulaires de rédaction d'un CMS

Recemment, un client nous a sollicité pour répondre à son besoin d'avoir la puissance de ChatGPT directement depuis le formulaire de rédaction d'articles de son CMS Joomla 4.

Après Analyse, il nous a semblé que l'option la plus pertinente, maintenable et efficace serai le détournement de la fonction offerte par un plugin Joomla du type editor-xtd, pour proposer un sous formulaire ChatGPT activable au besoin, juste au dessus de la zone de rédaction.

 

ChatGPT Joomla plugin
Formulaire ChatGPT fermé

 

 

ChatGPT Joomla plugin
Formulaire ChatGPT ouvert

 

 

Le formulaire ChatGPT propose 2 champs: Le prompt et le résultat

1. Le prompt est editable dans les paramètres du plugin. Par défaut il a cette valeur:

"Create an interesting article based on this title: X"

Où X reprend directement le contenu du champs titre de l'article.

2. Le résultat est rendu dans un champs de type textarea agrémenté de 4 boutons servant à transférer le texte obtenu dans le champs de rédaction de l'article, soit en remplacement, soit en ajout. Deux autres boutons permettent de générer une metadescription et des mots-clés afin de les renseigner automatiquement dans les champs respectifs du formulaire du CMS Joomla.

 

Données Meta rensignées directement par ChatGPT
Données Meta rensignées directement par ChatGPT

 

 

Le prompt de génération de la méta description:

Create a meta description of maximum 160 characters of the following article: 

 

Le prompt de l'extraction de mots-clés: 

"Extract and coma separate [X] SEO pertinent keywords from this article:"

Où [X] est le nombre de mots-clés requis. Après les ":" , le contenu de l'article termine le prompt.

 

Pour chacun des prompts, le plugin permet de définir le nombre maximum de token pour la génération de l'article et la température souhaitée pour chaque requète.

Conformément à l'accord du client, ce plugin développé par nos soins est désormais Open Source et distribué sous licence GPLv2 par Nordmograph.com

 

Plugin ChatGPT pour Joomla