Scraping web
Définition
Le scraping est une technique informatique permettant d’extraire des textes ou des informations à partir d’un site web existant. Cette extraction est réalisée par des programmes informatiques (ou scripts). Les applications du scraping sont nombreuses : veille concurrentielle, réutilisation de contenus, surveillance des prix des e-commerces concurrents…
Applications du scraping
Les applications du scraping sont très nombreuses. Nous avons choisi ici de vous en présenter trois.
Duplicate content et Mashup
L’usage le plus connu du scraping est relatif au « pompage » d’un site web dans le but de recréer des pages dont le contenu est généré automatiquement à partir de plusieurs sources (mashup) ou intégralement dupliqué (duplicate content externe). Le but des scrapeurs est alors de générer des milliers de pages automatiquement afin d’obtenir du trafic par le biais du référencement naturel. On parle alors de technique SEO blackhat, cette pratique étant formellement condamnée et sanctionnée (lorsqu’elle est détectée) par les principaux moteurs de recherche du marché.
Surveillance automatisée des prix des concurrents
Une des applications moins connue du scraping consiste à surveiller, dans le cas d’un commerce en ligne, les prix des concurrents. Un logiciel va alors repérer dans la page où se situe l’information tarifaire et va alerter l’utilisateur en cas de variation. D’autres solutions plus évoluées sont également capables de fournir un tableau de prix récapitulatif des concurrents, et de les comparer à ses propres tarifs afin de définir une politique tarifaire adaptée.
Veille concurrentielle
Dans le cas de sites non marchands, il peut être utile de surveiller les sites web de ses concurrents, par exemple en paramétrant une alerte en cas de changements effectués sur certaines pages de leur site web. En surveillant les modifications de la page descriptive des fonctionnalités d’un logiciel concurrent, on pourra savoir quand et comment ce dernier a fait évoluer son offre.
Comment faire du scraping ?
Dans le domaine du développement web, il existe de nombreuses solutions prêtes à l’emploi pour faire du scraping, dont des framework dédiés permettant de créer des scripts personnalisés, comme scrapy.Le principe est le suivant :
- On héberge le script sur un serveur.
- On définit des règles permettant d’indiquer au script comment les informations qu’on souhaite récupérer sont encapsulées dans la page. Un exemple simple : si on veut récupérer le titre d’une page web, on va indiquer au script que les données sont contenues entre les tags html <title> et </title> (on peut analyser le code source de la page à l’aide d’un addon comme Firebug).
- Le script se rend sur la ou les page(s) cible(s) (comme le font les bots des moteurs de recherche), et stocke les informations recherchées sur le serveur.
- On définit la périodicité de lancement du script afin d’automatiser le processus.
- On s’intéresse ensuite à la manière dont doivent être restituées les informations (page web cible, tableau de prix, alerte email…)
Comment lutter contre le scraping indésirable ?
Bannissement d’ip
Dans la majorité des cas, le site cible du scraping n’a pas intérêt à laisser le script accéder à ses données, qu’il soit victime de SEO blackhat ou sous surveillance des concurrents. Pour bloquer l’accès d’un site aux robots de scraping, il faut analyser les logs serveur et identifier l’adresse ip du serveur sur lequel est installé le script, en se basant sur le nombre de pages consultées et la récurrence des visites (l’automatisation est généralement programmée à intervalles réguliers). En bannissant cette ip, on peut alors bloquer le script. Cependant, de nombreux systèmes évolués de scraping utilisent désormais des proxies qui permettent de changer régulièrement d’ip « visible » du serveur, rendant le bannissement d’ip inopérant.
Captchas
On se rabattra alors sur des techniques plus complexes, en analysant par exemple les intervalles de consultations entre les pages en temps réel, ce qui permettra de déterminer si ces consultations sont réalisées par un être humain ou un robot. La confirmation pourra être effectuée à l’aide d’un Captchas. C’est d’ailleurs la technique employée par Google pour identifier les robots qui effectuent des recherches automatisées à l’aide d’un logiciel de référencement. Mais là aussi, en fonction de la méthode de blocage choisie, celle-ci peut se révéler inefficace (il existe des logiciels de cassage de Captchas particulièrement efficaces).
Pour aller plus loin, nous vous invitons à découvrir notre agence developpement web et à télécharger notre livre blanc « Les 11 commandements d’un site internet qui convertit vos visiteurs en clients »