Récupérez du contenu de sites internet avec scrapy

Les avanatages liés au scrape de sites internet n’est pas à démontrer…

Kesako le scrape?

Cela fait plusieurs fois que je mentionne dans les articles de reportingbusiness le scrape ou le crawl. Ce concept n’étant pas clair pour tout le monde, cela mérite quelques explications…

scraper un site internet consiste à créer un robot, c’est à dire quelques lignes de code, qui une fois lancées vont permettre d’analyser le contenu d’une page et de récupérer sur ces pages les éléments dont vous avez besoin. Si vous faîtes un ctrl + U sur une page internet, vous pourrez en voir le code source. Ce code est écrit en html et comporte de nombreuses balises html. 

Ces balises se présentent sous la forme <body></body>, « body » pouvant être remplacées par plusieurs types de balises… ces balises servent à structurer une page internet. L’idée est de repérer ce qui vous intéresse et de coder un robot donc qui vous permettra de récupérer exactement sur un site ce que vous cherchez. Dans cet article consacré à un crawler d’email, le robot en question est écrit en php. Son but est d’aller récupérer sur un site internet toutes les adresses email et de les stocker dans une table pour les utiliser par la suite. On peut imaginer d’autres cas de figure.

Dans ce cas, il ne s’agit pas de balises mais de mails avec un format toujours plus ou moins similaire: quelquechose@nomdedomaine.extension. Le crawler de cet article n’utilise pas les balises html mais quelque chose de très puissant appelé le « regex ». Les expressions régulières permettent de détecter un chaîne de caractères type dans une phrase.

Scrapy en quelques mots.

 

Scrapy est un framework écrit en python. Il permet de crawler des sites internet pour aller chercher ce qui vous intéresse. Son utilité?

Comme il s’agit d’un framework, toutes les contraintes techniques liées au crawl ont déjà été codées. Il s’agit de programmation orientée objet: il suffirait à votre développeur d’appeler quelques fonctions déjà codées et de rentrer quelques paramètres pour lancer un crawler.

Son avantage? Immense. D’un point de vue business tout d’abord. Imaginez que vous travailliez dans une société  comme par exemple un hôtel, une chaîne d’hôtel. Tous les jours, vos concurrents vont changer leurs tarifs. Vous pourriez utiliser ce genre de technologie pour recevoir automatiquement un rapport avec les prix de vos concurrents. Automatiquement, sans avoir à aller sur leur site internet chaque matin et sans avoir à perdre de temps inutile. Pratique non?

D’un point de vue technique, utiliser un framework, même s’il demande un peu de prise en main, est la garantie d’avoir rapidement des résultats. Des dizaines d’ingénieurs passent leurs journées à améliorer cette solution, vous êtes certain que vous n’aurez pas à vous prendre trop la tête pour développer vous même toute cette technologie…

Découvrez notre séléction de produits pour les particuliers et professionnels.