La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Bienvenue.

Présentations similaires


Présentation au sujet: "Bienvenue."— Transcription de la présentation:

1 Bienvenue

2 UNIVERSITE MOULOUD MAMMERI DE TIZI OUZOU
DEPARTEMENT D’INFORMATIQUE En vue d’obtention du diplôme d’ingénieur d’état en informatique Option Systèmes d’information avancés Mesdames et Messieurs les membres du jury, honorable assistance, bonjour et merci de votre présence. Travail Réalisé par: Dirigé par: MR GUENDOUL Samir Mr HAMMACHE Arezki PROMOTION 2009_2010

3 Thème : Réalisation d’un crawler web paramétrable.
En vue de l’obtention du diplôme d’ingénieur d’état en informatique, option systèmes d’informations avancés, nous allons vous présenter aujourd'hui notre travail qui consiste en la réalisation d’un crawler web paramétrable.

4 Plan : Introduction. Recherche d’information sur le web.
Moteurs de recherche. Crawler. Solution réalisée. Conclusion. Pour ce faire, nous avons élaboré le plan suivant: Après une brève introduction sur la recherche d’information, nous parlerons de la recherche sur le web et les différents outils les plus utiliser dans nous allons présentées le moteurs de recherche. Nous parlerons ensuite d’un de leurs composant principal qu’est en autre le Crawler qui est le thème de ce mémoire, il sert a alimenté la base de donné des moteurs de recherches. A travers la solution proposée, nous allons vous présenter l’étude analytique et conceptuelle de notre application, puis nous parlerons de la mise en œuvre, à savoir la réalisation des différents modules du système développé et on terminera par une conclusion et quelques perspectives.

5 Introduction: Recherche d’information:
La recherche d'information est un domaine historiquement lié aux sciences de l'information et à la bibliothéconomie. La recherche informatique a permis le développement d’outils pour traiter l’information et établir la représentation des documents à l’instant de leur indexation. Au sens large, la recherche d'information inclut deux aspects : l'indexation des corpus ; l'interrogation du fonds documentaire ainsi constitué. La recherche d'information est un domaine historiquement lié aux sciences de l'informations et à la bibliothéconomie qui ont toujours eu le souci d’établir des représentations des documents dans le but d'en récupérer des informations, à travers la construction d’index. La recherche informatique a permis le développement d’outils pour traiter l’information et établir la représentation des documents à l’instant de leur indexation, ainsi que pour rechercher l’information. On peut aujourd'hui dire que la recherche d'information est un champ transdisciplinaire, qui peut être étudié par plusieurs disciplines, approche qui devrait permettre de trouver des solutions pour améliorer son efficacité. Au sens large, la recherche d'information inclut deux aspects : l'indexation des corpus, et l'interrogation du fonds documentaire ainsi constitué.

6 Le Web: (www) Créé par Tim Berners-Lee dans les année 90.
Représente la couche logique du réseau Internet. Créé pour échanger et consulter l’information. Question : Comment accéder aux informations nous intéressant ? Parcourir tous les composants reliés au Web. (tâche ardue et lente). Comment faire ? L’apparition de world wide web dans les années 90 crée par Tim Berners-Lee au Centre Européen de Recherche Nucléaire, à été un grand défi pour la recherche d’information. Comme le réseau internet est l’interconnexion des réseaux mondial, le web représente sa couche logique, il comprend tout les informations qui se trouve dans chacun des composant relié à Internet. En principe, le web fut crée pour que tout le monde peuvent accédées à ces informations. Mais si on veut avoir que celle qui nous intéressent ? Bien sur on peu parcourir chaque ordinateur et chaque serveur connecté au réseau pour voir s’il contient celle qui nous convient ou pas. Mais cette méthode s’avère ardues et lente. Alors comment faire ?

7 Les outils de recherche sur le Web
Les moteurs de recherche : l’un des composants qui ont révolutionné le web. Créé par Matthew Gray En 1993. Son travail consiste à : Chercher les informations pertinentes. Les restituer à l’utilisateur. En 1993 Matthew Gray a créé l’un des composants qui ont révolutionné le monde de web. Le moteur de recherche. Leurs travails consiste à : Chercher touts les informations pertinentes sur le web adéquat à la requête de l’utilisateur. Pui de les retourner a l’utilisateur pour les consulter. D’autres outils de recherche sur le web ont fait leur appariation depuis ce jour.

8 Les outils de recherche sur le Web
Les annuaires: Yahoo est le premier à faire son entrée en Ils sont constitués par des catalogues organisés en grandes rubriques. Les résultats sont pertinents mais beaucoup plus restreints. Les méta-moteurs: Un méta-moteur est un moteur de recherche, combinant la recherche d’information sur plusieurs moteurs de recherche différents. web Crawlde, métaCrawler, …etc. le premier annuaire a fait sont entré en 1994, il a été créé par un groupe d’étudiants de l’université de stanford, c’était Yahoo, a cette époque c’était le plus important portail du Web. Les annuaires sont constitués par des catalogues organisés en grandes rubriques. La recherche se fait en cherchant une catégorie de sujets, puis en descendant dans une sous-catégorie, puis une autre, … etc. On peut donc, par descentes successives dans cet arbre, trouver le sujet qui nous intéresse et les pages qui lui correspondent. Chaque page est donc classée selon son contenu. Leurs défaut, est leurs principals avantage c’est l’ensemble des informations qu’ils comprennent, le fait que c’est l’home qui juge les informations à ajouter a leur base les rendent plus pertinents mais beaucoup plus restreints. Puis vient le tour des méta-moteurs, Un méta-moteur est un moteur de recherche, combinant la recherche d’information sur plusieurs moteurs de recherche différents. Leur fonctionnement est très simple : ils interrogent les plus importants moteurs de recherche en leur demandant leurs 30 premières réponses, puis ils effectuent un tri en enlevant les doublons et en mettant les réponses les plus souvent citer en première place. En exemple on peut citer : web crawler, metaCrawler et trouver. De nos jours, les moteurs de recherche sont devenus les leaders dans le web, qui peut s’en passé d’un moteur de rechercher pour naviguer dans le web. Mais c’est quoi c’est moteurs de recherches et comment arrivent ils a satisfaire nous besoin de recherche ?

9 Les moteurs de recherches:
Web Base de stockage Crawler Besoin d’informations Formulation Indexeur Représentation de question Anti-dictionnaire Un moteur de recherche est une machine spécifique (matérielle et logicielle) qui visite les sites, les indexe, les trie, afin de trouver les documents cherchés. L’architecture générale des moteurs de recherche est illustrée dans la figure suivant : Elle comprend quatre composantes principales : « A » Le crawler : c’est lui qui s’occupe de la collecte des documents dans le Web, il existe deux méthode : la méthode manuelle qu’est réalisé par un spécialiste ; et la méthode automatique qu’est faite par des logiciel intelligent que ont appels des robots. « A » L’indexeur : il s’occupe de l’indexation des ressources issu de crawler, en quelque sort ils leurs donne un sens. L’indexation consiste à extraire les mots considérés comme significatifs dans chaque ressource, puis de les enregistrés dans une base de données organisée comme un gigantesque dictionnaire inverse (liste des mots retenus, avec pour chacun d’eux les ressources vers lesquelles il pointe). « A » Le classement : il représente la partie dans laquelle se fait la recherche des documents pertinents qui correspond le mieux a la requête effectuer par l’utilisateur. Plusieurs technique de recherche existe, on peut citer : la recherche booléenne, la recherche probabiliste, le PageRank. « A » La présentation des résultats : s’occupe de la restitution des résultats trouver lors de la recherche, afin que l’utilisateur puisse les consulter. « A » On trouve aussi un autre composant qu’est la formulation des requêtes, qui s’occupe de traitement de la requête utilisateur afin de mieux faire la recherche. Classement Liste rangée présentation Retourne le résultat à l’utilisateur

10 Processus de moteur de recherche:
www Besoin d’informations requête Crawler indexeur Le moteur de recherche commence son travail avec le Crawler, comme nous l’avons dis : il sert à alimenter la base de stockage de moteur, théoriquement le Crawler télécharge tout les documents de Web. « A » puis vient le tour de l’indexeur, où il s’occupe de l’indexation des documents issus de Crawler afin de construire l’anti-dictionnaire de moteur. « A » Une fois l’anti-dictionnaire est construit, l’utilisateur peut effectuer des recherche en interrogent le moteur avec des requête. « A » C’est le module de recherche qui s’occupe de sélectionner et de trier les informations pertinents, puis les retournes à l’utilisateurs pour les consulter. Module de recherche Base de stockage Liste rangée Anti-dictionnaire

11 Le Crawler: Archie: Définition:
Programme intelligent qui s’exécute automatiquement. Parcoure et explore le Web en suivant les line hypertextes. Alimente la base de donné des moteurs de recherche. Archie: Le premier robot apparu dans le web. Créé par Alan Emtage en 1990. Télécharger le listings d’annuaire. Le composant principal qui nous intéresse dans cette architecture est le Crawler ; Mais c’est quoi un Crawler et comment il fonctionne ? Un Crawler est programme intelligent qui s’exécute automatiquement sur un ordinateur relier à Internet. Il parcoure et explore le Web en suivant les line hypertextes afin de récolter des informations pour alimenter la base de donné des moteurs de recherche. Archei est le premier robot qui à fait sont entré juste après l’apparition du Web en Créé par Alan Emtage à l’université Mc Gill de Montréal, sont travail consiste à télécharger les listings d’annuaire de tous les fichiers situer au serveur FTP d’un site.

12 Les types des Crawlers:
Crawler Web : il explore tous le Web et aspire les informations correspondantes à chaque URL. Crawler indexeur : parcoure, aspirant et index chaque page trouver dans le Web. Crawler chercheur: Rechercher des informations spécifique à un domaine précis par une requête. Cherche sur le web en temps réel. Remarque : Le type de Crawler qu’est étudié est le Crawler Web. En générale, il existe trois types de crawler : Le premier type, est le crawler Web, il explore tous le Web et aspire les informations correspondantes à chaque URL trouvée, puis l’enregistre sur une base de donnée. Le deuxième type, est nommé  crawler indexeur, il parcoure le Web en aspirant les pages trouvées, en même temps il crée un index pour chacune d’elle. Le troisième type, est un crawler chercheur, il est conçu pour rechercher des informations spécifique à un domaine précis par une requête. Il cherche sur le web en temps réel. Dans le cadre de ce mémoire le type de crawler qu’est étudie appartient au premier type ; sont architecture générale est présenté sur la figure suivante :

13 Architecture Générale des Crawlers:
URLs de départ Entrée Ajout d’URL Scanneur Frontière Choisir URL Traiter Elle est composée de quatre parties essentielles : « A » La Frontière : représente la fille d’attente des URLs à téléchargées, elle s’occupe aussi de la stratégie de sélection des URLs. « A » Le Client HTTP : est un logiciel conçu pour se connecter à un serveur HTTP afin de télécharger des documents dans le Web est les sauvegarder dans la base de données. « A » Le Parseur : est un analyseur syntaxique qui s’occupe de chercher les nouvelles URLs qui se trouve dans les pages Web afin d’alimenter la frontière. « A » Enfin le Scanner : s’occupe de valider les URLs a ajouter à la frontière. Client HTTP Parseur www Fouiller Chercher Sauvegarde B.D.D

14 Stratégies de parcours:
Le web est un graphe dont les nœuds sont des pages et les arcs sont des liens. Le crawler commence par quelque nœuds est suit les arcs. Dévers Stratégies existe : Le parcours en largeur (FIFO). Le parcours en profondeur (LIFO). Le parcours suivant le degré entrant maximum (DEM). Le parcours aléatoire (RANDOM). L’exploration du web peut être regardée comme un problème de recherche sur un graphe, dont les nœuds sont des pages et les arcs sont des hyperliens. Le Crawler commence par quelques nœuds et suit alors les arcs pour atteindre d’autres nœuds en suivant des stratégies de parcours adoptées. Dévers stratégies existe, dont nous citons les plus classiques : le parcours en largeur, le parcours en profondeur, le parcours suivant le degré entrant maximum et le parcours aléatoire.

15 Le parcours en Largeur 1 2 3 4 5 6 7 8 9 Queue Tête 4 3 2 1 5 4 3 2 1
Le parcours en largeur est illustré sur la figure suivant : il consiste à parcourir le graphe niveau par niveau. Les nœuds de niveau 0 sont d'abord parcourus puis les nœuds de niveau 1 et ainsi de suite. Comme le Web n'est pas un arbre, l'algorithme pourrait tourner indéfiniment, c'est pour cela que l'on doit marquer chaque sommet déjà parcouru. Afin de programmer le parcours en largeur on peut utiliser une file d’attente de type FIFO contenant les sommets à explorer : dans laquelle les ajouts se font à la fin et les retraits au début. 5 6 7 8 9 10 Queue Tête 4 3 2 1 5 4 3 2 1 3 2 1 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 1 2 1 6 5 4 3 2 1 7 6 5 4 3 2 1

16 Le parcours en profondeur
1 2 3 4 Le parcours en profondeur est illustré sur la figure suivant : il se définit de manière récursive sur les arbres. Il consiste à traiter la racine de l'arbre et à parcourir récursivement les sous-arbres gauche et droit de la racine. Il commence par la racine, puis son 1er fils, puis le 1er fils du 1er fils, …etc. Quand on arrive au dernier nœud, il faut revenir en arrière jusqu'à trouver un fils non encore parcouru. Afin de programmer le parcours en largeur on peut utiliser une file d’attente de type LIFO contenant les sommets à explorer : dans laquelle les ajouts se font et les retraits au début. 5 6 7 8 9 10 Queue 8 7 3 6 5 2 1 4 8 7 3 6 5 2 1 7 3 6 5 2 1 10 9 4 8 7 3 6 5 2 1 9 4 8 7 3 6 5 2 1 1 2 1 3 6 5 2 1 5 2 1 6 5 2 1 Tête

17 Le processus de Crawler:
URLs de départ URL URL URL Entrée URL La frontière URL www URL URL URL URL chercher Le processus du crawler est illustré dans la figure suivante, au départ il est initialisé par quelques URLs avec lesquelles il commencera son parcours, puis il choisit une URL dans la frontière. Ce choix dépend de la stratégie de parcours adoptée. Puis le Client HTTP se charge de chercher et de télécharger la page qu’elle référence dans le Web pour la sauvegarder dans la BDD. Une fois la page télécharger le parseur s’occupe de chercher les nouveaux liens quelle comprend puis le scanneur s’occupe de filtrer les URLs à ajouter dans la frontière pour alimenter le crawler dans son prochain parcours. Client HTTP URL URL URL URL URL parser URL URL Choisir URL scanner URL URL URL Parseur URLs trouvées sauvegarder URL URL URL URL URL BDD

18 Critères du Crawler: Les critères à suivre :
Eviter de parcourir une même page; Choisir les documents a téléchargés; Ne pas récolter des fichiers qui peuvent causer des dommages; Eviter de suive un parcours sans fin; Respecter les instructions d’exclusion (robot.txt); Ne pas saturer les serveurs. Pour bien mener le parcours du Crawler dans Web, il doit respecter les critères suivants : Le Crawler doit éviter de parcourir une même page plusieurs fois ; Il doit choisir les documents a téléchargés. Il ne doit pas récolter des fichiers qui peuvent causer des dommages au crawler ou à la machine pour ne pas interrompre son travail, par exemple : des virus. Il doit éviter de suive un parcours sans fin. Il doit respecter les instructions d’exclusion mises en place par le propriétaire du site Web grâce au fichier robot.txt. Il ne doit pas saturer la bonde passante des serveurs.

19 Les Crawlers distribués:
Problème : Immensité de Web. Limite des Crawlers mon-poste. Solution: Nécessité d’une nouvelle technologie; Naissance des Crawlers Distribués. Au début de l’aire des Crawlers, le Web ne compter que quelque centaine de site web, mais au fur est à mesure qu’on avance dans le temps, le web ne cesse d’agrandir, et les Crawlers mon-poste ont trouvés leurs limite. Pour remédier à ce problème, les chercheurs ont élaborés une nouvelle technologie, ils ont adoptés l’architecture Client Serveur aux Crawlers, qu’est illustré dans la figure suivant :

20 Architecture des Crawlers Distribués:
Frontièr BDD URL URL Clients Serveur URL URL URL URL URL URL URL URL URL URL URL URL URL URL URL URL URL URL Crawler URL URL URL Crawler www Cette architecteur comprend d’un côté les clients qui sont installés sur des machines à parts et d’un autre côté le serveur qu’est composé de la frontière et de la Base de Données. Pour ce faire la frontière se charge de distribué les URLs au différent Client, qui vont aller chercher et télécharger les pages quelles référencent dans le Web, puis les sauvegarder dans la Base de Données et ajouter les nouvelle URLs trouver dans la frontière. En 2006 le Crawler de Google, GoogleBot qu’est basé sur l’architecture Client Serveur, à utilise 1500 client, et réussit à télécharger en moyenne 8000 page par minute. URL URL URL Crawler URL URL URL Crawler . . .

21 Un Crawler Paramétrable
Solution réaliser: Un Crawler Paramétrable Après tout cette étude sur les Crawlers, nous avons réalisés un Crawler Paramétrable.

22 Environnement de développement :
La réalisation d’un logiciel fiable et performant est capitale. Les outils de développement: Système d’exploitation : Windows Vista. Environnement : Eclipse IDE version Langage de programmation : JAVA. La réalisation d’un logiciel fiable et performant est capitale, ainsi le choix de l’environnement de développement et du langage de programmation est d’une grande importance. La réalisation de notre application a été faite en utilisant : Windows vista comme système d’exploitation, Eclipse IDE comme environnement de développement car il est maniable et facile a l’utilisation et Java comme langage de programmation car il est portable, maintenable et robustesse.

23 Architecture du Système:
Crawler URL document URL document URL document URL URL document document Notre système recevra en entrée un ensemble d’URLs avec lesquelles il commencera son parcours, et comme résultat il retournera un ensemble d’informations issues de Web.

24 Architecture du Système:
Noyau Initialiser et démarrer le Crawler Sauvegarder les données Pour ce faire nous avons réalisés architecture suivante, elle est subdivisée en trois parties : L’interface utilisateur est conçue pour initialiser et gérer les différents composants du Noyau, et pour consulter les données sauvegardées. Le Noyau est le cœur de System, il s’occupe de parcourir le Web. Et la partie de stockage d’information : s’occupe de la gestion des enregistrements des informations issu de Noyau. Interface Utilisateur Stockage d’informations Consulter les données

25 Le Noyau: Noyau Client HTTP Parseur Scanneur Exploreur
La partie la plus importante et la plus complexe dans cette architecture est le Noyau, elle comprend quatre composants principaux : Le Client HTTP ; Le Parseur ; Le Scanneur ; Et l’Exploreur. Client HTTP Parseur Scanneur Exploreur

26 Télécharger le document
Le Client HTTP : URL Interroger le serveur www Fin Non Existe? Le Client HTTP va recevoir une URL de la frontière puis il va vitrifier si elle existe dans le Web, et si c’est le cas il va la télécharger et la sauvegarder dans la Base De Données. Pour programmer cet algorithme, nous avons utilisés les Classe : URL et URLConnection qui ce trouver dans le package : Java.net. Oui Télécharger le document Sauvegarder Base De Données

27 Le parseur: page Analyser Fin Extraire les liens Fille temporaire Non
Contient des liens? Le Parseur : reçoit la page téléchargé par le Client HTTP, puis il va la parcourir, et si elle contient des liens, alors il va les extraire et les ajouter à une fille d’attente temporaire afin que le scanneur les traitent. Pour programmer cet algorithme, nous avons utilisés les Classe : Parser, NodeFilter et NodeList qui se trouvent dans le package org.htmlParser. Oui Extraire les liens ajouter Fille temporaire

28 Le Scanneur: Fin Vérifier le Protocole Vérifier le lien
URLs Vérifier le Protocole Fin Non HTTP? Oui Vérifier le lien Oui interne? Non Vérifier le type Le Scanneur : reçoit les nouvelles URLs trouver par le Parseur, chaque URL est soumise a plusieurs teste avant d’être ajouter a la frontière. Premièrement le Scanneur vérifie si son protocole est bien le HTTP. Deuxièmement il vérifie si elle n’est pas un lien interne à la même page. Troisièmement il vérifie si elle appartient aux types de fichier à télécharger. Enfin il vérifie si elle ne dépasse pas la langueur limité, puis la profondeur limité. Si l’URL est jugée valide, alors elle va être ajoutée à une fille d’attente temporaire pour qu’elle soit ajoutée par la suite dans la frontière si elle ne se trouve pas. Non existe? Oui Vérifier la longueur et la profondeur Oui dépasser? Non Ajouter à une fille temporaire

29 Ajouter les URLs à la frontière
L’exploreur: Début Frontière Fin Oui vide? Non Choisir URL Télécharger Client HTTP recommencer Analyser L’exploreur est le composant qui s’occupe de raccorder tous les autre afin de construire le Crawler. Il sélectionne une URL dans la frontière grâce à une des stratégies offert, puis il l’envoi au Client HTTP qui s’occupe de la chercher et de la télécharger dans le Web, en suite le Parseur cherche les liens qui se trouve dans la page et les envois vers le Scanneur qui s’occupe d’ajouter les nouvelles URLs jugés valide dans la frontière. Parseur vérifier Scanneur ajouter Ajouter les URLs à la frontière

30 Stratégies de parcours:
La frontière détermine quelle stratégie adopter . Nous avons développés quatre stratégies : Parcours en Largeur : utilise une fille FIFO. Parcours en Profondeur : utilise une fille LIFO. Parcours aléatoire : programmée avec la fonction Random(). Parcours Delay : utilise une fille FIFO, temps de connexion limité. Pour programmer ces fille d’attentes, nous avons utilisés la classe ArrayList. » La sélection des URLs dans la frontière, détermine quelle stratégie adopter pour parcourir le Web. Dans notre application, nous avons développés quatre stratégies : Le parcours en Largeur : qui utilise une fille de type FIFO. Le parcours en Profondeur : qui utilise une fille de type LIFO. Le parcours aléatoire : qui utilise une fille aléatoire programmée avec la fonction Random() qui ce trouve dans le package java.lang.Math. Le parcours Delay : qui utilise une fille de type FIFO avec un temps de connexion limité Pour programmer ces fille d’attentes, nous avons utilisés la classe ArrayList qui se trouve dans le package java.util.

31 Interface graphique principale:

32 Ajouter un Crawler:

33 Panneau gestion Crawler:
Propriétés du Crawler Etat de parcours Arrêter Démarrer URLs éxplorées Pages téléchargées Pause Continuer

34 Consulter les pages téléchargées:
Consulter les URLs Explorées:

35 Fin de Crawler

36 Test Nous avons initialisé le Crawler comme suit:
Stratégie : Fifo ; Nombre Urls : illimité ; Nombre Répertoire : illimité ; Longueur Url : illimité ; Type Url : html, php, asp, pdf, doc, txt, ptt ; Url de depart : Après onze heur de parcours:

37 Test

38 Conclusion Nous avons présenté une étude détaillé sur les Crawler et la solution réalisée. Nous avons conquis de nouvelles information sur la RI, et acquis une base solide sur le développement et la programmation de logiciel. En guise de perspective nous proposons, d’élaborer une architecture distribuée pour le Crawler réaliser.

39 Merci pour votre attention
Questions..?


Télécharger ppt "Bienvenue."

Présentations similaires


Annonces Google