Qu'est-ce qu'un crawler ?

Un craw­ler, ou scra­per, est un outil qui per­met d’ob­te­nir le conte­nu (géné­ra­le­ment tex­tuel) d’une page web afin d’ap­pli­quer des trai­te­ments d’analyse.

On se place évi­dem­ment dans l’op­tique d’une auto­ma­ti­sa­tion, c’est-à-dire d’une col­lecte à large échelle, sinon un simple copier/coller depuis l’af­fi­chage d’une page web fera l’affaire.

Mais si vous faites cette opé­ra­tion à la main, vous allez vous rendre compte de la com­plexi­té de la tâche. En effet, une page web com­prend bien d’autres choses que du conte­nu inté­res­sant. Cela peut aller sim­ple­ment de por­tions de texte du type « autres conte­nus qui pour­raient vous inté­res­ser » jus­qu’aux publi­ci­tés. Il faut donc sépa­rer le bon grain de l’ivraie.

Comment nettoyer une page Web ?

Deux grands types de trai­te­ments peuvent être uti­li­sés pour net­toyer une page web sui­vant la nature des pages à collecter.

Extraction selon la structure des pages

La pre­mière tech­nique part du prin­cipe que vous savez ce que vous cher­chez sur une page et que vous êtes capable d’in­di­quer à la machine où est le conte­nu recher­ché dans la page. Tech­ni­que­ment, cela s’ef­fec­tue via des expres­sions XPath ou des dési­gna­tions de style (CSS). Le craw­ler peut aller cher­cher pré­ci­sé­ment ce qui vous inté­resse sur la page et le col­lec­ter, en igno­rant tout le reste. C’est la méthode qui donne la meilleure précision.

Extraction de pages générique

La tech­no­lo­gie fai­sant appel à la struc­ture des pages n’est appli­cable que si vous connais­sez a prio­ri les pages sur les­quelles va s’ap­pli­quer la col­lecte. Si ce n’est pas le cas, si par exemple les pages à col­lec­ter sont four­nies au craw­ler par un moteur de recherche, il faut alors ten­ter de détec­ter auto­ma­ti­que­ment quel est le « vrai » conte­nu du conte­nu annexe ou publi­ci­taire depuis le flot HTML. Dif­fé­rentes tech­niques fai­sant appel à l’a­na­lyse de texte per­mettent de caté­go­ri­ser un para­graphe comme « bon » conte­nu à l’aide d’in­di­ca­teurs comme par exemple la lon­gueur du para­graphe, le nombre de mots outils, le nombre de liens, etc.

Les méthodes hybrides

Sou­vent, les deux tech­niques sont mêlées car le stan­dard HTML com­porte des balises (option­nelles) qui peuvent mar­quer la pré­sence du « vrai » conte­nu, sans que ces balises ne soient visibles lors de la consul­ta­tion. De même, nombre d’in­ser­tions publi­ci­taires suivent des motifs régu­liers d’un site à l’autre.

Toute la tech­nique du craw­ler sera donc de mêler une détec­tion for­melle (basée sur les balises) et une détec­tion à base de conte­nu pour extraire effi­ca­ce­ment le conte­nu des sites non réper­to­riés par le système.

Comment surveiller un site ? 

Le craw­ling de sites s’ef­fec­tue rare­ment en une fois : il se place géné­ra­le­ment dans un pro­ces­sus ité­ra­tif de sur­veillance des sites, soit qu’il s’a­gisse de reve­nir régu­liè­re­ment sur un site afin d’en col­lec­ter les nou­velles pages ou de se baser sur les résul­tats d’un moteur de recherche pour iden­ti­fier les URLs à crawler.

La sur­veillance des sites, géné­ra­le­ment mise en place dans le cadre de la veille, com­bine fré­quem­ment les deux techniques :

  1. L’u­ti­li­sa­tion de bou­quets de sources thé­ma­tiques, c’est-à-dire d’en­sembles de sites web connus pour être per­ti­nents sur un sujet donné.
  2. L’in­ter­ro­ga­tion régu­lière d’un moteur de recherche (qui, par paren­thèse, est lui aus­si allé craw­ler le site pour pou­voir l’indexer).

Assurer la fraîcheur de l’information

Il y a géné­ra­le­ment dans ce pro­ces­sus de sur­veillance une exi­gence de « fraî­cheur » : on veut connaître l’in­for­ma­tion dès qu’elle est publiée sur le web, ou connaître immé­dia­te­ment les mises à jour d’une page don­née. La solu­tion est de lan­cer le craw­ling très régulièrement.

Mais il faut se rap­pe­ler qu’une page web est pro­duite par un com­po­sant logi­ciel, le ser­veur web, qu’il ne s’a­git pas de sol­li­ci­ter trop fré­quem­ment, sous peine de le sur­char­ger. Il serait alors inca­pable de répondre aux consul­ta­tions stan­dard des inter­nautes. Le site sur­veillé devien­drait alors inac­ces­sible (ce type de com­por­te­ment est consi­dé­ré comme une attaque infor­ma­tique dite « par déni de ser­vice »). En réponse, un craw­ler trop insis­tant ain­si détec­té se ver­rait inter­dire la consul­ta­tion de l’in­té­gra­li­té du site (on parle de bla­ck­list).

C’est pour­quoi les craw­lers sont tenus de res­pec­ter des bonnes pra­tiques de sol­li­ci­ta­tion des sites, plus ou moins for­ma­li­sées, comme le fichier robots.txt qui indique quelles sont les pages « craw­lables » du site, par­fois aux dépens de la fraî­cheur ou de l’exhaustivité.

Par Hugues de Mazancourt
Président de l'APIL

Études de cas associés

Repérer et quantifier les effets des traitements ainsi que leur contexte d'apparition

Je suis responsable de la pharmacovigilance au sein d'une structure publique de veille sanitaire. Je souhaite pouvoir exploiter plus largement les sources d'information sur les effets des traitements et garantir une certaine objectivité des analyses à partir des textes libres : l'analyse linguistique automatisée répond-elle à ces objectifs et comment ?

Gare au plagiat : une double préoccupation dans les médias

Comme éditeur ou responsable de médias, je dois traiter le risque de plagiat, c'est à dire : lutter contre l'exploitation abusive du contenu de mes publications, mais aussi me prémunir du risque que mes publications tombent sous le coup d'accusations de plagiat.

Comment identifier la plagiat dans les copies des étudiants de manière simple, rapide et la plus exhaustive possible ?

Enseignant dans l'enseignement supérieur, je dois vérifier que les copies de mes étudiants ne contiennent pas d'extraits traduits d'articles scientifiques disponibles en ligne.

Pousser au client l'information qu'il ne cherche pas encore

Responsable de la commercialisation de plusieurs titres de presse, je dois acquérir ou fidéliser mes abonnés en ligne en leur proposant l’actualité cruciale, voire critique dans leur activité, parmi des masses d’informations quotidiennes. Les mêmes outils de veille constituent un support précieux pour les journalistes de mes publications, à partir de sources externes.

La chasse aux infox, aussi impérieuse que complexe

Je suis directeur de la publication d'un journal d'information généraliste. A l'heure des médias sociaux, tout le monde ou presque peut publier de l'information visible de toute la planète. Cette formidable opportunité est hélas une aubaine pour les rumeurs voire la désinformation délibérée. Ne pas se faire le relais des infox est un devoir des médias désormais inscrit dans la loi. Débusquer et dénoncer la désinformation n'est pas une obligation légale mais un objectif éthique pour les médias.

Quelle solution de fact checking pour mon ONG ?

Je suis responsable de la communication pour une ONG dans un domaine où l'information au public est essentielle et controversée et où le lobbying est très actif. Je dois repérer quotidiennement les informations diffusées et relayées sur les réseaux sociaux et dans la presse afin d'ajuster ma stratégie de communication. Existe-t-il des solutions de fact checking pour lutter contre la diffusion des infox (fake news) ?