Extraction de données sur un site internet avec Php, MySQL et XML
par Olivier Népomiachty.
Contact :
E-mail olivier.nepomiachty arobas developpez.com envoyer un MP
Niveau débutants & confirmés
Février 2004 - version 1.0
Résumé :
Cet article présente une méthode pour récupérer des informations sur un site internet
et les intégrer dans une base de données ou dans un flux XML.
Thèmes abordés :
Php, MySQL, MySQL InnoDB, XML, cURL, connexion en socket sous Php,
sécurité internet, flush sur le navigateur.
Introduction
Cet article suivra un exemple concret et ludique : la génération d'une base de
données de films. La mise en oeuvre du code présenté vous permettra de récolter
des informations exhaustives sur l'ensemble de votre collection vidéo personnelle
(DVD, DivX, VHS, etc.) Un module d'interrogation de la base fourni en exemple
permettra l'utilisation immédiate des informations collectées.
Dans le présent tutorial, la collecte des informations se fera sur le site de
Allo-Ciné.
Utilisation du code
Cet article est écrit dans un but exclusivement pédagogique. Le code et
les méthodes proposés ne doivent pas être utilisés à des fins commerciales sans
avoir préalablement obtenu une autorisation écrite du responsable légal du site
que vous allez "sonder" ainsi que celle de l'auteur de l'article. En
l'absence d'autorisation, vous pourrez être poursuivi
en justice pour piratage de données. L'auteur décline toute responsabilité de
l'utilisation abusive qui pourra être faite du code.
Versions requises
L'utilisation du code nécessite au minimum une version de Php 4.x
II Modélisation des informations
1) texte
2) le flux XML
3) la base de données
3-1) Présentation de la nomenclature
3-2) MySQL
3-3) variante avec MySQL InnoDB
III Collecter les informations
1) cURL
1-1) introduction
1-2) installation
1-3) exemples d'utilisation de cURL
1-4) implémentation de cURL dans notre code
2) Utilisation des sockets sous Php
2-1) Comment se passe le dialogue entre le client et le serveur internet ?
2-2) Implémentation sous Php