URL: https://linuxfr.org/news/crowl-un-crawler-seo-open-source Title: Crowl, un crawler SEO open-source Authors: Julien Deneuville Nils Ratusznik, Davy Defaud, Benoît Sibaud et palm123 Date: 2018年08月04日T14:32:40+02:00 License: CC By-SA Tags: crawler, seo, python et python3 Score: 39 Crowl est un projet de développement d’un _crawler_ [SEO](https://fr.wikipedia.org/wiki/Optimisation_pour_les_moteurs_de_recherche " Search Engine Optimization — optimisation pour les moteurs de recherche") collaboratif sous licence GPL v3. Développé en Python et basé sur le cadriciel Scrapy, Crowl a pour but de fournir aux professionnels du référencement un outil simple, robuste et innovant pour répondre à des besoins non couverts par les outils actuels. ---- [Site officiel de Crowl](https://www.crowl.tech/) [Dépôt GitLab](https://gitlab.com/crowltech) [Site du cadriciel Scrapy](https://scrapy.org/) ---- # À quoi sert un crawler SEO ? _Crawler_, _spider_, _scraper_ ou [robot d’indexation](https://fr.wikipedia.org/wiki/Robot_d%27indexation) : quel que soit le nom qu’on leur donne, de nombreux robots parcourent le Web et réalisent différentes tâches. La plupart du temps, il s’agit de récupérer des informations sur les pages Web et de les stocker. Pour les professionnels du SEO, le modèle est Googlebot : la famille de robots d’indexation de Google. Ces robots parcourent chaque jour des dizaines de milliards de pages Web. Mais les besoins d’un moteur de recherche ne sont pas les mêmes que ceux d’un référenceur : là où le premier doit parcourir le Web dans son intégralité, le second cherche à optimiser un seul site (à la fois). Les informations récupérées sont variables, mais on s’intéressera au statut HTTP des pages, à leur contenu ou encore aux liens qui les relient. Ces informations permettent ensuite de réaliser différentes analyses et de définir les chantiers d’optimisation du site concerné. Il peut s’agir de problèmes simples (liens cassés, redirections inutiles, pages dupliquées...) ou d’analyses plus complexes (répartition de la popularité interne, pertinence du contenu...). # Yet another crawler? De nombreux outils existent sur le marché, mais la plupart sont commerciaux ou obsolètes. Par ailleurs, ils sont souvent limités d’une manière ou d’une autre dans leur fonctionnement. Bon nombre sont limités quant au volume de pages à traiter, ou aux informations qu’il est possible de récupérer. Ainsi, il n’est pas rare que des référenceurs se lancent dans la conception d’un _crawler_ pour dépasser ces limitations. Malheureusement, ce sont souvent des initiatives isolées, et « crawler » le Web n’est pas aussi simple qu’il n’y paraît. Au fil de discussions avec quelques confrères, nous avons réalisé que nous étions plusieurs à travailler sur les mêmes problématiques en parallèle. Afin de mettre nos efforts en commun, nous avons décidé de lancer un projet _open source_, dans l’espoir d’attirer d’autres contributeurs. # Comment fonctionne Crowl Crowl est basé sur Scrapy, un cadriciel Python qui permet d’extraire facilement des données depuis les sites Web. C’est une excellente base de départ, d’autant plus que Python est un langage facile d’accès et déjà utilisé par de nombreux référenceurs, notamment pour ses capacités en [science des données](https://fr.wikipedia.org/wiki/Science_des_donn%C3%A9es). Cependant, Scrapy n’est pas pensé pour répondre aux besoins d’un _crawler_ SEO et demande un certain nombre de configurations et d’adaptations. En l’état, Crowl propose donc un projet Scrapy configuré pour les besoins génériques des référenceurs. Il est capable de parcourir l’intégralité d’un site Internet et de stocker les informations utiles dans une base de données MySQL. Nous proposons en outre une méthode de calcul du poids des liens sortant d’une page Web, basée sur leur hauteur respective dans le code source. Ceci permet le calcul d’un _[[PageRank]]_ interne plus précis, car les liens en pied de page sont ainsi dévalués. # Feuille de route et perspectives Si l’outil est déjà opérationnel, il reste très basique pour l’instant. Nous avons déjà de nombreuses idées pour l’améliorer, qui seront mises en place au fil du temps et de la disponibilité des contributeurs. Parmi ces idées, on peut citer le choix de multiples options de sauvegarde des données en plus de MySQL, la configuration des options au moyen d’un fichier de configuration, ou encore la création d’une interface utilisateur pour lancer les _crawls_ et en analyser les résultats. L’objectif est de séparer les principales fonctionnalités en une suite de modules indépendants pour traiter : * le _crawl_ en lui‐même ; * les traitements post‐_crawl_ ; * les interfaces de lancement et d’analyse d’un _crawl_. Toute contribution est la bienvenue, y compris de la part de personnes qui ne sont pas issues du milieu du SEO : les contributeurs actuels n’étant pas des développeurs professionnels, nous sommes preneurs des conseils de personnes plus aguerries.

AltStyle によって変換されたページ (->オリジナル) /