Bonjour à tous !

Je m'appelle Jérémie et je suis nouveau en php (j'ai appris via lesiteduzero à développer)

Voici mon problème aujourd'hui: J'ai fait pour mon site internet un script php qui est un robot qui récupère une liste d'hôtels à partir du site hotels.com (un copain m'a aidé pour développer ce script, il est assez complexe)
Jusque là tout va bien.
Mais en fait ce script s'interrompt de façon régulière car les serveurs de hotels.com plantent régulièrement...Le script s'arrête donc de tourner.

Quand je l'exécute depuis mon easyPhp, le script est lancé sur Chrome, et j'ai un page reloader sur ma page qui fait que le script est rechargé même quand il plante. Ainsi, même s'il plante, il va continuer de s'exécuter et continuer à récupérer une liste d'hôtels depuis le site hotels.com
J'avais mis au départ un refresh dans le script, mais il ne s'exécute pas quand le script plante.

Donc en gros, est-ce que vous pensez qu"il serait possible de faire un autre script php tout simple, qui dit que mon premier script doit être actualisé toutes les x secondes (on a calculé que le script ne tourne jamais plus de 300 secondes), et que cette actualisation ait lieu pendant un lapse de temps donné (par exemple, après 15h d'exécution),après lequel le premier script ne s'exécute plus.

En gros, un script A actualise automatiquement un script B, à intervalle régulier (toutes les 300 secondes), et après 15h où le script A actualise le script B, il arrête de l'actualiser.

Merci à tous pour votre aide !

Jérémie
Modérateur
Bonjour,

Dans les termes et conditions de hotels.com, il est totalement interdit de récupérer des informations avec un robot :

Conditions d'utilisation a écrit :
De plus, vous acceptez [...] de ne pas accéder à quelque contenu ou renseignement du présent site et de ne pas le surveiller ni le copier en utilisant un robot, un moteur de recherche, une application d’extraction ou tout autre outil automatisé ou tout processus manuel pour quelque raison que ce soit sans notre autorisation écrite expresse;


As-tu obtenu leur autorisation?
Oublie ton "page reloader", crée simplement une page html qui appelle 15*3600/300 = 180 fois ton script de siphonnage à 5 minutes intervalle, du type :

<!DOCTYPE html>
<html>
 <head>
  <title>Siphonnage d'Hotel.com</title>
  <script type="text/javascript">

   function rafraichir(n)
   {
      document.getElementById('siphon').src = 'http://ton.site.com/script-siphon.php?random='+Math.random();
      if(n > 0) window.setTimeout('rafraichir('+(n-1)+')',300);
   }

  </script>
 </head>
 <body onLoad="rafraichir(180)">
  <iframe id="siphon" src="http://ton.site.com/script-siphon.php">

  </iframe>
 </body>
</html>


Par contre T. Monast raison, c'est pas très fair play, car si tu avais leur autorisation, je suppose que tu n'aurais pas à utiliser ce genre de méthode. Mais bon, y a pas que le copyright dans la vie Smiley lol
Modifié par Boudah Talenka (01 May 2011 - 14:35)