Recuperation automatique de données sur le web

Recuperation automatique de données sur le web - PHP - Programmation

Marsh Posté le 26-03-2006 à 19:05:50    

Bonjour  
 
J'ai pour projet d'automatiser la récupération de cours boursiers sur le site d’Euronext.
 
Voila le lien de la page à partir de laquelle je veux récupérer les données :
 
http://www.euronext.com/tools/data [...] chbox=true
 
Mon but est de pouvoir télécharger les cours mensuels de différentes valeurs et cela sur plusieurs années.
 
Sur la page que j'ai indiquée je dois remplir un formulaire avec les données suivantes :
 
- Sélection du bouton radio "Cours cotés par séance sur une période définie"
 
- puis indiquer la date voulu (1 année maximum par exemple 01/01/2004 au 01/01/2005)
 
- cocher le bouton radio "Ouverture" (seulement celui ci), il s'agit donc de décocher tous les autres (car cocher par default)
 
- cocher le bouton radio en bas correspondant au libellé de la valeur (car il peut y avoir plusieurs choix de valeur possibles)
 
- puis enfin envoyer la requête par la sélection du bouton « Téléchargement »
 
Je planche sur ce projet depuis pas mal de temps et j'avoue que je rame beaucoup beaucoup  :pt1cable:  
 
J'ai écris ce petit script aprés avoir étudier longuement le code source de mla page donnée précedement:
 

Code :
  1. $url = "http://www.euronext.com/tools/datacentre/dataCentreDownloadHTML/0,4591,1679_204211370,00.html";
  2.  $ch = curl_init();
  3.  curl_setopt($ch, CURLOPT_URL,  $url);
  4.  curl_setopt($ch, CURLOPT_POST, 1);
  5.  curl_setopt($ch, CURLOPT_POSTFIELDS,
  6.  'typeDownload=2&quote=""&time=""&dayvolume=""&opening="opening"&high=""&low=""&closing=""&volume=""&dateFrom="01/01/2004"&
  7.  dateTo="31/12/2004"&instrumentToDownload=138514&idInstrument=""&choice="1"&formatValue="txt"&indexCompo=""');
  8.  curl_exec($ch);
  9.  curl_close($ch);

 
 
A la ligne curl_setopt($ch, CURLOPT_POSTFIELDS, ....) j'y ai inscrit tous les données envoyées par le biais du formulaire que le serveur peut avoir besoin pour pouvoir afficher la page avec les cours qui m'interesse.
 
Malheuresement la page qui est renvoyée est bien la bonne mais elle apparait vierge , c'est à dire sans les cours pouvant etre exploités.
 
La code source de la page que j'ai indiqué semble trés complexe (beaucoup de formulaire), il se peut donc trés bien que j'ai ommis de "poster" des valeurs indispensables.  
 
Mais je coince completement  :??:  
 
Donc si quelqu'un avait un un peu de temps a consacrer a cela, ca serait super cool!!!

Reply

Marsh Posté le 26-03-2006 à 19:05:50   

Reply

Marsh Posté le 26-03-2006 à 20:20:31    

Tu es sûr que euronext autorise ce que tu veut faire?
 
Verifie qu ils ne mettent pas des protections pour éviter la copie: vérification du referrer, formulaire avec numéro identifiant aléatoire.

Reply

Marsh Posté le 26-03-2006 à 20:37:56    

Non il n'y a à premier vue aucune restriction de ce point de vue la puisque cette page et le telechargement de cours s'adresse a tout le monde. Tout le monde peut telecharger les cours de n'importe quelle valeur. Ce que j'essaye juste de faire c'est d'automatiser cette tache pour pouvoir faciliter le telechargement de données.

Reply

Marsh Posté le 26-03-2006 à 20:56:27    

C est pas un formulaire ``post`` mais un ``get``.

Reply

Marsh Posté le 26-03-2006 à 21:33:24    

Djule01 a écrit :

Non il n'y a à premier vue aucune restriction de ce point de vue la puisque cette page et le telechargement de cours s'adresse a tout le monde. Tout le monde peut telecharger les cours de n'importe quelle valeur. Ce que j'essaye juste de faire c'est d'automatiser cette tache pour pouvoir faciliter le telechargement de données.


 
Un accès gratuit ne veut pas dire une reproduction gratuite de ce qui est présenté sur le site. Si tu reproduis ce que tu récupère sur un site web contre la volonté/ sans autorisation des ayant-droits c'est du plagiat...Après si tu récupères ça pour toi, ben..bon boursicotage quoi ;)

Message cité 1 fois
Message édité par gooopil le 26-03-2006 à 21:34:40
Reply

Marsh Posté le 26-03-2006 à 21:44:20    


 
Tout d'abord je vous remercie de vous interesser a mon probleme ;)
 
J'ai essayer beaucoup plus simple par le biais d'un site que j'ai moi même créer pour vérifier le fonnctionement de mon bout de code et il n'a pas marché :
 
 

Code :
  1. $$value1="livre";
  2. $value2="Harry";
  3.                           $url = "http://127.0.0.1/Site%20ju/Recherche.php/";
  4.  $ch = curl_init();
  5.  curl_setopt($ch, CURLOPT_URL,  $url);
  6.  curl_setopt($ch, CURLOPT_POST, 1);
  7.  curl_setopt($ch, CURLOPT_POSTFIELDS,'categorie=$value1&mot-cle=$value2');
  8.  curl_exec($ch);
  9.  curl_close($ch);


 
Normalement le fichier recherche.php qui fonctionne trés bien  :D  analyse le contenu de catégorie et de  mot clé (tout deux poster par le biais d'un formulaire 'post') puis interroge la base de donné pour renvoyer la réponse.
 
Or la réponse est dans tous les cas "Désolé, nous n'avons trouvé aucun article en réponse à votre requête" qui signifie que les deux lignes de code :
 

Code :
  1. curl_setopt($ch, CURLOPT_POST, 1);
  2. curl_setopt($ch, CURLOPT_POSTFIELDS,'categorie=$value1&mot-cle=$value2');


 
n'ont pas eut d'effet. (Connaissant ma base de donnée la reuete aurait du etre fructueuse)  :sarcastic:  
 
Donc l'erreur viens donc de ces deux lignes de code reste a trouver pourquoi!!!!!!!!  :whistle:  

Reply

Marsh Posté le 26-03-2006 à 21:48:12    

gooopil a écrit :

Un accès gratuit ne veut pas dire une reproduction gratuite de ce qui est présenté sur le site. Si tu reproduis ce que tu récupère sur un site web contre la volonté/ sans autorisation des ayant-droits c'est du plagiat...Après si tu récupères ça pour toi, ben..bon boursicotage quoi ;)


 
 
oui oui ne vous inquiétez pas c'est pour mon simple usage personnel  :) , pour faciliter la mise en place de mes stratégies boursieres  :sol:  
Comme par la même occasion jsuis un peu programmeur j'essaye d'associer les deux  :jap:  

Reply

Marsh Posté le 26-03-2006 à 21:55:30    

tu devrai faire la recherche que tu veut dans ton browser, ensuite tu copie l url, et tu utilise fil_get_contents($url) pour récupérer la page de résultats.
 
essaye ça pour avoir les cours de EDF:
http://www.euronext.com/tools/data [...] Download=2

Reply

Marsh Posté le 26-03-2006 à 22:00:39    

Si cela interesse toujours qqun, bon concernant mon propre site j'ai reussi a faire marcher ce que je voulais faire car  
 

Code :
  1. curl_setopt($ch, CURLOPT_POSTFIELDS,"categorie=$value&mot-cle=$value2" );


 
EST DIFFERENT DE
 

Code :
  1. curl_setopt($ch, CURLOPT_POSTFIELDS,"categorie=$value&mot-cle=$value2" );


 
 :D  
 
hé oui tt simplement, je cours me replonger ce pourquoi j'avais ouvert cette discussion : récuperation de cours sur euronext

Reply

Marsh Posté le 26-03-2006 à 22:04:33    

Si cela interesse toujours qqun, bon concernant mon propre site j'ai reussi a faire marcher ce que je voulais faire car  
 

Code :
  1. curl_setopt($ch, CURLOPT_POSTFIELDS,"categorie=$value&mot-cle=$value2" );


 
EST DIFFERENT DE
 

Code :
  1. curl_setopt($ch, CURLOPT_POSTFIELDS,'categorie=$value&mot-cle=$value2');


 
 :D  
 
hé oui tt simplement, je cours me replonger ce pourquoi j'avais ouvert cette discussion : récuperation de cours sur euronext
 
PS : pardon j'ai poster trop vite, l'erreur venait du ' different du "

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed