Les quatre meilleurs outils de Web Scraping totalement gratuits en 2018

Arrêtez de copier le net. Scrapez le.

 

Les quatre meilleurs outils de Web Scraping totalement gratuits en 2018

Les outils de Web Scraping permettent d’automatiser la collecte de données sur Internet. Pour la plupart, et bien que leur portée soit limitée, ils sont accessibles en libre-service, et peuvent être tout simplement utilisés depuis le navigateur de votre ordinateur (Chrome ou Firefox). Si la taille des données dont vous avez besoin est limitée, ou que les sites Web sont particulièrement facile à atteindre (site statique, absence de reCaptcha ou d’IP blocking), alors ces add-ons présentent un rapport qualité-prix très intéressant, et peuvent constituer un choix judicieux.

Toutefois, si vous avez beaucoup de données à extraire, que vous souhaitez les extraire de façon périodique, ou que les sites web présentent des systèmes de défense robustes, alors ces outils gratuits s’adapteront mal à votre besoin. Le coût, certes dérisoire, de ces outils sera toutefois vite contrebalancé par le temps et les efforts qui vous seront nécessaires afin d’implementer, d’exécuter et de maintenir ces outils de Web Scraping dans le temps. Dans de telles situations, la meilleure solution technique et économique reste de faire appel à un fournisseur de solution d’extraction clés en main.

Dans cet article, nous allons voir comment ces outils fonctionnent, et dans quelles situations il peut s’avérer judicieux de, ou de ne pas les employer.

Voilà les meilleurs outils gratuits de web scraping

Data Scraper

Data Scraper est un outil de Web Scraping simple et efficace, sous forme d’extension Google Chrome, qui permet d’extraire de la donnée depuis une page simple, et de l’exporter au format CSV et/ou XLS. Vous avez simplement besoin d’installer un add-on Google Chrome au sein de votre navigateur. La version payante permet d’extraire 500 pages par mois. Si vous souhaitez scraper plus de page, il faut bien sur passer au plan payant.

L’extension est téléchargeable en suivant ce lien : https://chrome.google.com/webstore/detail/data-scraper-easy-web-scr/nndknepjnldbdbepjfgmncbggmopgden?hl=en. Une fois l’extension ajoutée au sein de votre navigateur, vous pouvez commencer à extraire des données depuis des sites web de votre choix.

datascraper1

Ouvrez un site depuis lequel vous avez besoin d’extraire de la donnée. Pour le besoin de cette présentation, nous allons scraper l’ensemble des détails de produits dans la catégorie barbecue, puisque l’été est déjà là, sur Amazon.com. Faites un clique droit sur la page, et cliquez sur l’option Get Similar (Data Miner). Vous allez voir une liste templates pré-enregistrés sur la gauche. Vous pouvez en choisir un, ou créer le votre, et le faire tourner.

L’avantage réside surtout dans la bibliothèques de Recipes publiques, réalisées par des utilisateurs et mis à la disposition des autres. Dans la vidéo ci dessus, nous utilisons le Recipe : Amazon Product Search Grid, qui nous permet une extraction en quelques secondes au format .csv. Vous pouvez également créer votre propre Recipe, l’outil est plutôt user-friendly, mais il vous demandera du temps d’adaptation et de formation, à ne pas négliger.

L’outil est donc vivement recommandé pour les petites extractions ponctuelles, avec des fonctionnalités techniques solides (AJAX/Javascript, crawling), et une utilisation rapide et facile. Pour les gros volumes, les besoins récurrents, et face à des sites avec système de protection (reCaptcha, blocking IP, JS fingerprint), l’outil montrera ses limites.

Web Scraper

Web scraper est une extension Chrome, et un superbe outil d’extraction de données depuis des pages web. En utilisant cette extension, il faut se le dire assez ingénieuse, vous allez pouvoir créer un plan du site, indiquer au scraper la façon dont le site doit être traversé, et ce qui devrait être extrait de chaque page. Avec les plans du site, ou sitemaps, vous allez pouvoir facilement naviguer sur le site, puis en extraire la donnée avant de tout exporter au format CSV.

Vous pouvez télécharger l’add-on en suivant ce lien : https://chrome.google.com/webstore/detail/web-scraper/jnhgnonknehpejjnehehllkliplmbmhn?hl=en

webscraper01

Vous allez désormais trouver dans votre boîte à outils, un onglet avec l’outil webscraper, à partir duquel vous allez pouvoir créer des sitemaps, et commencer à la fois à vous déplacer sur le site web, et à collecter les informations. Cliquer sur l’onglet « Web Scraper », et cliquer sur « Create a new sitemap », puis « Créer sitemap ». La sitemap, s’il fallait la définir, est un ensemble de règles dur la façon dont la donnée va être extraite de la page, et comment le scraper va accéder à un espace d’extraction avant de passer à un autre. En somme, il s’agit du plan d’action de votre scraper. Pour le bien de cette demonstration, nous allons commencer avec la liste des 100 meilleurs livres du site de critiques collaboratives, Sens Critique : https://www.senscritique.com/livres/tops/top100-des-top10.

Désormais, vous avez accès à votre plan de site, ou sitemap, dans lequel vous trouverez l’élément _root, c’est à dire l’élément de départ, avant navigation sur le site web, et une éventuelle collecte de données. Il faut maintenant cliquer sur « Add new selector », afin d’indiquer au scraper quelle sera notre future action.

webscraper02

Puisque nous souhaitons extraire l’ensemble des livres depuis les listes présentes sur la page web de départ, nous allons indiquer au scraper que nous souhaitons, à partir de _root, nous déplacer vers les listes secondaires. Nous allons donc cliquer sur « Add new selector », puis « Select », puis « Multiple », puisque nous souhaitons sélectionner l’ensemble des liens depuis la page de départ. A la suite de cette action, un lien apparaît, qui correspond à la classe CSS de notre élément. Nous allons le copier, puis le coller dans le champ « Selector », avant de vérifier l’état de la donnée en cliquant sur « Data Preview ». Enfin, on pourra enregistrer le sélecteur, qui s’ajoutera à la suite de _root. D’une page à l’autre. N’oubliez pas de bien sélectionner, dans le « Type », l’élément « Link », afin que les URLs extraits servent de base à une nouvelle extraction par la suite.

Une fois le lien des nouvelles pages sélectionnées, il va falloir en extraire les données : titres, auteurs, année et classements. Pour ce faire, nous allons aller sur le premier lien extrait, et, en espérant que les classes CSS de chaque élément soient les même sur chaque page, nous allons les extraire. Il s’agit donc tout d’abord de revenir sur la sitemap, de cliquer sur notre nouvel élément, « Lists », puis de créer un nouveau sélecteur avec « Add new selector ». Ensuite, de même que précédemment, on va sélectionner les éléments, puis extraire le lien, du titre, de l’auteur et du rang.

Nous allons reproduire l’opération exécutée ci-dessus pour le rang des livres, l’auteur, l’année, avec pour origine de l’extraction, nos pages de lists extraites précédemment.

webscraper03

Une fois tous les éléments sélectionnés, cliquer sur « Scrape ». Une nouvelle fenêtre va s’ouvrir depuis le navigateur Chrome, dans laquelle chaque page extraite dans lien va être atteinte, et les éléments collectés. Une fois la collecte terminée, cliquer sur « Export data as CSV ».

webscraper05

Et voilà le résultat final, présent ci-dessous.

wbscraper05

Si l’outil est donc efficace, avec la possibilité d’extraire la donnée depuis plusieurs pages, facile d’accès, et user-friendly, le résultat final montre toutefois les limites de tels outils : les données de titre ne sont pas toujours disponibles, quant aux données de rang et d’auteur, elles ont tout bonnement disparu. Quant à la date, si elle est disponible de façon plus systématique, pas possible d’en gérer le format. Très puissant, mais limité en somme.

Agenty

Agenty est un add-on Chrome puissant et plutôt facile d’utilisation qui va vous permettre, de façon très rapide et très simple, d’extraire des éléments depuis une page à partir de la classe CSS. Si l’outil est très intuitif, il s’agit toutefois de connaître les éléments les plus simples, l’inspection, les classes CSS. Par ailleurs, le site propriétaire indique de nombreuses options avancées (proxies, planification dans le temps, REST API) dont l’utilisation reste à explorer. Par ailleurs, la version gratuite propose 3 spiders, et 100 pages extraites, avant que le paiement devienne obligatoire. Allons voir ça de plus près.

L’add-on est accessible depuis cet URL : https://chrome.google.com/webstore/detail/agenty-advanced-web-scrap/gpolcofcjjiooogejfbaamdgmgfehgff/related?hl=en

agenty01

Une fois l’add-on téléchargé, rendez-vous sur la page de votre choix, celle dont vous souhaitez extraire les éléments. Nous allons, pour le bien de cette expérience, extraire cette fois-ci les 100 meilleurs films de l’année 2018 (qui est loin d’être terminée..), depuis le site allociné : http://www.allocine.fr/film/meilleurs/decennie-2010/annee-2018/

Une fois sur le site, il suffit de cliquer sur l’extension en haut à droite, une fenêtre s’ouvre à droite. En faisant un clique droit, puis « Inspecter », il est possible de retrouver la classe CSS des éléments, puis les copier dans le champ souhaité.

agenty01

On voit toutefois immédiatement les limites de ce scraper avec sélection CSS. Si la collecte est rapide et intuitive, certaines classes CSS ne donnent pas de résultat, comme la date. Tandis que la classe attribuée au réalisateur recouvre de nombreuses autres dates, et renvoie 244 résultats. Par ailleurs, aucun moyen de se rendre sur de nouvelles pages. Nous sommes donc réduits au 10 premiers résultats de la liste.

Une fois le scraper terminé, cliquer sur « Save », puis sur « Save agent ». Et voilà le résultat :

agenty03

En résumé, l’outil a de très beaux avantages : il est très facile d’utilisation, gratuit jusqu’à 100 pages et 3 spiders, et propose des services de planification d’extraction bien construits et efficaces. Toutefois, la sélection des éléments par la classe CSS montre vite ses limites, et il faut avoir des notions de CSS pour pouvoir sélectionner ses premiers éléments. Intéressant pour des pages simples, mais ici encore, nettement limité.

Fminer

FMiner est un outil visuel d’extraction de données pour le web scraping et le web screen scraping. Son interface intuitive vous permettra  de rapidement exploiter le puissant moteur d’extraction de données depuis des sites web. Par ailleurs, la solution, outre les solutions de collecte de données classique, propose également un moteur capable d’exécuter de l’AJAX/Javascript, et de résoudre des CAPTCHA. Fminer fonctionne à la fois sur Windows et sur Mac OS, et il réalise la collecte de données en utilisant le navigateur interne. Il propose 15 jours d’essai gratuit, avec une limite d’extraction à 50 lignes, avant de vous inviter à payer par la suite, sur le modèle du freemium.

fminer_02

Nous allons vous montrer comment extraire les données d’une page Wikipedia en utilisant Fminer. Nous allons utiliser le lien suivant : https://fr.wikipedia.org/wiki/Palme_d%27or. Mais nous allons tout d’abord télécharger l’application, en suivant le lien suivant : http://www.fminer.com/download/. Attention, le fichier est assez volumineux, et fait plus de 32 mo, mais présentera comme totem, un joli bonhomme bleu.

fminer_01

Une fois l’application ouverte, sélectionnez « Create a new project », entrez l’URL souhaité, and appuyez sur le bouton « Enregistrer » pour enregistrer vos actions. Ce que nous allons avoir besoin d’extraire, c’est la table de toutes les Palmes d’Or décernées à Cannes, et ce depuis la nuit des temps.

fminer_03

fminer_04

Il s’agit ensuite de cliquer en haut à droite, « scrape page », de créer une table, de lui donner un nom, puis d’y ajouter les colonnes de la table en cliquant en haut à droite, « capture content ». Une fois dans la zone de capture de contenu, il faut utiliser le sélectionneur, ‘Target Select’, puis pour avoir accès à l’ensemble de la table, ‘Expand Target’, puis ‘Multiple Targets’. Voilà, la table est entièrement sélectionné, on peut maintenant l’enregistrer dans une colonne, avant de faire tourner la machine avec le bouton ‘Run’, et de l’exporter au format .xls avec le bouton ‘Export’.

fminer_final

Et voilà le rendu final? Autant dire qu’il y a une certaine déception. Si l’outil semble techniquement très puissant, avec un navigateur interne, la gestion des cookies, un ‘scheduler’, la présence de multi-thread, la gestion des fichiers AJAX/Javascript et des reCaptcha, la prise en main est toutefois très délicate, et l’extraction de données simple très fastidieuse. Puissant, mais peu user-friendly, avec une documentation confuse. A suivre toutefois.

fmienr_xls

En résumé, même si ces outils de web scraping permettent d’extraire des données du web (plutôt) facilement, si vous possédez des notions simples en HTML et en CSS, nous en avons également montré les limites. Les données sont incomplètes, mal formatées, inaccessibles, et l’extraction de grands volumes difficile, pour ne pas dire impossible. Sur le long terme, la programmation est inévitable pour qui souhaite collecter de la donnée depuis le web.

Si vous ne maîtrisez pas la programmation ou si vos besoins sont complexes ou si vous avez besoin de gros volumes de données, il existe d’excellents services de Web Scraping qui vous permettront d’atteindre des résultats nets, et rapides, pour un prix correct.

Vous pouvez gagner du temps et obtenir des données propres et structurées en nous contactant et en travaillant à nos côtés. Pas de données mal ficelées, pas de problème de code mal fagoté : votre donnée est propre, vaste, et obtenue sans effort.

Laisser un commentaire

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