Acquisition d’information sur internet

Slides:



Advertisements
Présentations similaires
Créer une base de données MySQL
Advertisements

Créer une base de données MySQL Et création de tables, enregistrements, interaction avec PHP.
Transformation de documents XML
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 10 Patrick Reuter.
INTRODUCTION INTRODUCTION ERGONOMIE Tri par cartes Formulaires Interface Installation Lanceur Documentation TECHNOLOGIES XML + XSL CSS Formulaires génériques.
MySQL et PHP.
Design Pattern MVC En PHP5.
PHP mySQL Extension php_mysql. Connexion à une base de données Établir une connexion mysql_connect(string server, string username, string password) –permet.
Manipulation d’XML avec XSL
Bonnes pratiques ez publish
Introduction aux Web Services Partie 1. Technologies HTML-XML
20 Données semi-structurées et XML
Développement d’applications web
Création d’un langage d’action pour un logiciel MDA
AYARI Mejdi Formation 2121 * ISD * 1 tructured uery Anguage 2006.
L’utilisation des bases de données
N. Le Gall A. Jaouën E. Morin C. Coelo Cuzon D. Le Toux
Tapestry - Eclipse Link
Ecole Supérieure Privée de ingénierie et de technologie année universitaire :2013/2014 Cross-Plateform Cours JavaScript.
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
Les instructions PHP pour l'accès à une base de données MySql
Projet JAVA EE Approfondi
28 novembre 2012 Grégory Petit
L’utilisation des bases de données
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
Intégration ActiveXML - Xyleme
MySQL Création des sites dynamiques
Modex Web Dominique Rossin
Projet de Master première année 2007 / 2008
Initiation au web dynamique - TP
XML Plan du cours Introduction au fichier XML
Introduction.
PHP & My SQL.
PROGRAMMATION WEB FRONT-END.
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
Initiation à Python et à Latex
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Créer des packages.
A L I M E N T A T I O N A G R I C U L T U R E E N V I R O N N E M E N T Réseau BD 11/12/08 Fonctionnalités et limites d’outils d’indexation et de recherche.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
 Requêtes MySQL en PHP Introduction
05/02/98WEB ESNIG Modèle logique de données Oracle Designer/2000 & Oracle Web Server.
(Procedural Language / Structured Query Language)
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
PLAN 1. Introduction 1.1. Sites de presse actuels 1.2. Objectif de notre site 2. Description du modèle 3. Outils utilisés 3.1. SVG 3.2. PHP et MySQL 4.
Présentation du développement du projet.  Introduction  Conception et méthodes  Developpement  Conclusion 2.
XML fortement adopté en tant que format indépendant d’échange de données. Utilisation de XML pour la modélisation de données structurées et non structurées.
G.KEMBELLEC - UP81 Master 2 THYP Cas pratique d’utilisation De simpleXML Un lecteur de RSS Novembre 2009.
 Formulaires HTML : traiter les entrées utilisateur
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Initiation au JavaScript
Architecture logicielle
Initiation au web dynamique Licence Professionnelle.
 Le langage SQL Introduction SQL : Strutured Query Language, est un langage de requête, que l'on retrouve dans divers SGBDR (Access de Microsoft, MySQL,
3 Copyright © Oracle Corporation, Tous droits réservés. Créer des fonctions.
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Les vues Une vue: c’est une relation virtuelle. Définie par:
L T I Laboratoire de Téléinformatique 2 Projet de semestre Parseur XML basé sur la DTD : Buts –Utiliser la grammaire définissant un type de fichiers XML.
Introduction à PHP TOURNADRE Guillaume - Informatique Réseaux URL :
Les bases de données Séance 8 Jointures.
Séance /10/2004 SGBD - Approches & Principes.
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
Nicolas Ribot Introduction aux triggers Nicolas Ribot - Licence GNU FDL - Version 1.1.
SOMMAIRE  Intro et cahier des charges 2 Présentation Projets Étude et recherche Développement Doc. et manuels Conclusion J.
Cours n°2 Implémentation et exploitation
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
Dreamweaver Séance 1.
PROJET DE SESSION PRÉSENTÉ PAR : Rosemarie McHugh DANS LE CADRE DU COURS : SCG Réalisation d’applications en SIG 16 avril 2007.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Transcription de la présentation:

Acquisition d’information sur internet Scraping java - base de données Oracle - XML - PUI PHP Acquisition d’information sur internet Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Introduction Objectifs Introduction Extraction Stockage Restitution Conclusion Objectifs Exploiter du contenu de pages HTML. Stocker au format XML dans une base de données. Restituer ces données dans une interface graphique. Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Introduction (suite) Présentation Introduction Extraction Stockage Restitution Conclusion Présentation Choix du thème : le cinéma. Sites sélectionnés : Allociné, IMDB. Données extraites : Commentaires, notes et caractéristiques du film. Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Applications et langages utilisés Introduction (suite) Introduction Extraction Stockage Restitution Conclusion Applications et langages utilisés Base de données imposée (Oracle). Applications : Eclipse, Notepad++, Tidy. Langages : JAVA, PHP, XML, SQL, HTML, CSS. Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Extraction (principe) Introduction Extraction Stockage Restitution Conclusion Principe de fonctionnement Démarrage de l’application avec une url de film Téléchargement de la page. Nettoyage syntaxique via JTidy Ciblage de l’information Stockage Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Extraction (Diagramme de classe) Introduction Extraction Stockage Restitution Conclusion Diagramme de classe Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Ciblage de l’information Extraction (ciblage) Introduction Extraction Stockage Restitution Conclusion Ciblage de l’information private Node search(Node start, String element, String contains, short type) : Node Exemples : search(this.xmlfile, "#text", "Durée", Node.TEXT_NODE); search(this.xmlfile, "property", "v:name", Node.ATTRIBUTE_NODE); Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Extraction (difficultés) Introduction Extraction Stockage Restitution Conclusion Difficultés et problèmes Ciblage de l’information différent pour chaque site. Impossibilité d’extraction sur le site IMDB. Délais insuffisants pour effectuer le parsing d’un second site. Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Extraction (améliorations) Introduction Extraction Stockage Restitution Conclusion Améliorations futures Extraction des commentaires Créer un algorithme de parsage intelligent (fichier de config) Communication plus discrète entre la PUI et l’application d’extraction Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Modèle Conceptuel de Données STOCKAGES Introduction Extraction Stockage Restitution Conclusion Modèle Conceptuel de Données Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

(XML Schéma Définition) STOCKAGES(suite) Introduction Extraction Stockage Restitution Conclusion Schéma XSD (XML Schéma Définition) Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

STOCKAGES(suite) XML et Oracle : XML DB Introduction Extraction Restitution Conclusion XML et Oracle : XML DB Un type de données XML utilisé pour stocker et gérer du contenu XML. Une collection de méthodes et opérateurs SQL permettant d'agir sur du XML. Enregistrer un schéma conforme au W3C dans la base de données Oracle. Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Exemple d’insertion de XML dans la base de données grâce au XMLType. STOCKAGES(suite) Introduction Extraction Stockage Restitution Conclusion XML et Oracle : XMLType INSERT INTO film VALUES ( 6, 'gran torino', 138, 2010, 9 ,9.5 ,'clint à la retraite...',XMLType(' <film> <commentaire> <pseudo>ford_48</pseudo> <com>trés bon film avec M. Eastwood</com> <note>10</note> <source>Allocine</source> </commentaire> <pseudo>jojodu12</pseudo> <com>Clint encore une fois énorme !!</com> <note>8</note> </film>'),'' ) / Exemple d’insertion de XML dans la base de données grâce au XMLType. Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

(ici extraction des commentaires) STOCKAGES(suite) Introduction Extraction Stockage Restitution Conclusion XML et Oracle : XMLType SELECT f.commentaire.extract('/film/commentaire/com/text()') FROM film f; Utilisation de Xpath pour l’extraction du XML. (ici extraction des commentaires) Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

STOCKAGES(suite) Introduction Extraction Stockage Restitution Conclusion Trigger et vues Projet d’utiliser une vue afin de rendre transparent l’utilisation de XML dans le code PHP. Création d’un Trigger pour mettre à jour la moyenne des notes des utilisateurs. CREATE OR REPLACE TRIGGER moyenne AFTER INSERT OR UPDATE ON film FOR EACH ROW BEGIN NEW.notes_util := (SELECT AVG(extract(value(note),'note/text()').getNumberVal()) FROM film f, table(xmlsequence(extract(f.commentaire,'/film/commentaire/note'))) note WHERE id_film = NEW.id_film) END; END moyenne; Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Restitution Aspect graphique Introduction Extraction Stockage Conclusion Aspect graphique Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Restitution(suite) Aspect Technique Introduction Extraction Stockage Conclusion Aspect Technique Fichier conf.ini Contient les paramètre par défaults utiles (identifiants de Base de Données, Nombre de films par page…). Recherche par genre Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Restitution(suite) Aspect Technique Introduction Extraction Stockage Conclusion Aspect Technique Recherche Alphabétique <?php   echo "<fieldset><center><a href='index.php?page=films&initiale=09'>0-9 </a>"; for ($i=ord("A");$i<ord("Z")+1;$i++) { //boucle pour affichage des lettres echo "<a href='index.php?page=films&initiale=".chr($i)."'>".chr($i)."</a>"; } echo "</center></fieldset>"; ?> Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Restitution(suite) Aspect Technique Introduction Extraction Stockage Conclusion Aspect Technique Recherche simple. Utilisation d’une fonction Ajax Script AJAX (S’exécute à chaque nouvelle entrée) Page PHP -inclus modèle -inclus vue Champ de recherche simple Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Restitution(suite) Aspect Technique Introduction Extraction Stockage Conclusion Aspect Technique $elements_totaux = 9 ; $nombre_par_page = 2 ;   //ceil() permet d’arrondir à l’unité supérieur ; //ne pas utiliser round() ; $nb_pages = ceil($elements_totaux/$nombre_par_page) ; //affichage des pages if ($nbpages > 1 ){ for ($i=1; $i<=$nb_pages; $i++){ echo $i ; } Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Restitution(suite) Aspect Technique Introduction Extraction Stockage Conclusion Aspect Technique Pagination Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Restitution(suite) Aspect Technique Introduction Extraction Stockage Conclusion Aspect Technique Notation par étoiles Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Restitution(suite) Aspect Technique Introduction Extraction Stockage Conclusion Aspect Technique Recherche et ajout d’un film Utilisation de la fonction « exec » qui permet d’exécuter une application Java. Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Structure de l’interface Restitution(suite) Introduction Extraction Stockage Restitution Conclusion Structure de l’interface Page principale (affiche tous les films par défaut). Menu Page films (propose un tri par alphabet) Page genres (affichage des genres disponibles dans la base de données Oracle) Page recherche simple (fonction Ajax qui fait une recherche approximative d’un film par nom) Ajouter un film (permet la recherche d’un film grâce à un formulaire via l’application java) Page liste film (liste les films disponibles selon les options sélectionnées. C’est un affichage simple) Affichage des films disponibles sur les sites. Permet de choisir le bon résultat. Affichage détaillé d’un film Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Conclusion Conclusion Introduction Extraction Stockage Restitution Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues

Acquisition d’information sur internet Scrapping java - base de données Oracle - XML - PUI PHP Acquisition d’information sur internet Soutenance projet LPD2I 2010/2011 Leonhard Hermle – Julien Cellier – Xavier Mourgues