Page 1 sur 1

Télécharger un fichier CSV sur Euronext

Posté : 10 janv. 2012, 12:54
par TeamAMC
Bonjour à tous,

Je cherche à afficher sur mon site les cours des matières premières agricoles (ça c'est pour le contexte :D).

J'ai vus que sur Euronext on pouvait télécharger un fichier CSV (données séparées par des ';'). Voici un exemple :
http://www.euronext.com/search/download ... ruments=17
Choisissez donc le format '.txt' et validez. Vous obtenez un fichier texte avec plein de données séparées par des points-virgules. ;)

Cependant j'ai plusieurs matières à récupérer et ici nous avons récupéré seulement le maïs.

Je souhaiterais donc faire script PHP qui récupère ces fichiers. Mais comment faire étant donné que l'upload du fichier se fait apparemment avec du javascript (si on regarde le code source de la page...) ?

Voici ce que j'ai essayé :

Code : Tout sélectionner

//Ici j'ai copié l'url plus haut $urlf = 'http://www.euronext.com/search/download/quicksearchdownloadpopup-1921-FR.html?comesFromQuoteSearch=true&matchpattern=bl%EF%BF%BD&resultsTitle=Actions&totalOfInstruments=1'; if(file_exists($urlf)) { header('Content-type: text/plain '); header('Content-Disposition: attachment; filename="le_nom_que_je_veux.txt"'); readfile($urlf); } else { echo 'Le fichier n\'existe pas'; }
Ca m'indique que le fichier n'existe pas. Pas étonnant le lien ne pointe pas sur le fichier mais sur le formulaire. Comment faire ?

Merci à vous !

Re: Télécharger un fichier CSV sur Euronext

Posté : 10 janv. 2012, 14:15
par moogli
salut,

le mieux serait de voir avec les auteurs du site pour savoir s'ils ne fournissent pas directement une api pour cela :)

sinon faut bien regarder le script JS tu verra qu'ils ajoute des choses à l'url comme le format de ficher de date

l'url final est
search/download/quicksearchdownloadpopup.jcsv?cha=1921&entryType=name&lan=FR&matchpattern=ma%EF%BF%BD&quicksearchresults=actif&resultsTitle=Actions&totalOfInstruments=17&viewall=&format=ff&formatDate=

donc il faut que tu fournisse le format (en fonction du choix dans le formulaire soit "txt" ou "xls"
le format de date devrait être dd/MM/yy(fr) ou MM/dd/yy(us)

donc au final je dirais que ton url devrait être
http://www.euronext.com/search/download ... e=dd/MM/yy

(Ce qui est fonctionnel, par contre fait gaffe les 3 premières lignes ne sont pas forcément utile ^^).

@+

Re: Télécharger un fichier CSV sur Euronext

Posté : 10 janv. 2012, 14:31
par TeamAMC
Salut,

Merci beaucoup moogli.

Bon sauf que si dans mon code précédent je remplace pour la nouvelle et bonne url cela m'indique toujours que le fichier n'existe pas. J'ai l'impression que ce n'est pas la bonne méthode pour récupérer le fichier... Je me trompe ?

Cordialement,

Re: Télécharger un fichier CSV sur Euronext

Posté : 10 janv. 2012, 15:48
par Mazarini
A mon avis file_exists ne supporte pas le protocole http (comme les fonctions de la famille stat()).

(cf http://php.net/manual/fr/function.file-exists.php)

Re: Télécharger un fichier CSV sur Euronext

Posté : 10 janv. 2012, 15:56
par TeamAMC
En effet bien vu. ;)

Je vais donc formuler ma question de manière plus générale :

Comment télécharger un fichier sur le net dans un script PHP ? (c'est mieux comme ça non :D)

Merci à toi. ;)

Re: Télécharger un fichier CSV sur Euronext

Posté : 10 janv. 2012, 16:31
par Mazarini
A priori readfile() doit marcher si tu trouves l'url. Voir allow_url_fopen dans php.ini

Re: Télécharger un fichier CSV sur Euronext

Posté : 10 janv. 2012, 17:12
par TeamAMC
Merci à toi Mazarini. ;)

Voilà j'ai donc tester en appelant le readfile() directement mais j'ai quand même l'erreur classique : failed to open stream. :(
J'ai bien vérifié le fichier php.ini et allow_url_fopen est bien à "On".

J'ai vraiment du mal à voir d’où ça peut venir... #-o

Re: Télécharger un fichier CSV sur Euronext

Posté : 10 janv. 2012, 17:18
par moogli
ini_set

sinon voir les sockets.

A tu vu le 1er point de ma 1ère requêtes c'est quand même le plus simple :)

@+

Re: Télécharger un fichier CSV sur Euronext

Posté : 10 janv. 2012, 17:20
par Mazarini
La première chose à faire est de mettre l'url dans un navigateur. Ensuite, tu pourras chercher à y accéder en PHP.

Re: Télécharger un fichier CSV sur Euronext

Posté : 10 janv. 2012, 17:28
par Mazarini
Je manque de temps pour tout regarder sur le site de la bourse, mais je ne pense pas qu'ils souhaitent diffuser ce genre d'info de manière automatique sauf contre paiement.
Je sais qu'ils diffusent les carnets d'ordres en automatique pour un montant conséquent sauf à accepter un décalage de 15 mn.

Re: Télécharger un fichier CSV sur Euronext

Posté : 10 janv. 2012, 17:29
par moogli
La première chose à faire est de mettre l'url dans un navigateur. Ensuite, tu pourras chercher à y accéder en PHP.
ça j'ai fait c'est bon j'ai filé un bon exemple fonctionnel.

ceci dit je te rejoint sur le fait de la dispo de la chose, enfin après il se démerde :)

@+

Re: Télécharger un fichier CSV sur Euronext

Posté : 10 janv. 2012, 18:10
par TeamAMC
J'avais vérifié l'url bien sûr. ;)

Je me doute aussi qu'il y a surement un service payant derrière tout ça... Vous m'avez aussi servis à confirmer ceci. ;)

J'ai aussi vu le premier point de ta réponse moogli. Mais pour l'instant j'ai un peu peur de devoir attendre des lustres pour communiquer avec une pareille société. :'(

Bref, pour l'instant je marque un brève pause la dessus car je ne suis pas sur de ce que veux le commercial. Donc je définis bien ça demain avec lui et je verrais exactement ce qu'il faut que je récupère. Ensuite on pourra revoir ça.

Merci à vous,

Re: Télécharger un fichier CSV sur Euronext

Posté : 12 janv. 2012, 13:34
par TeamAMC
Bon j'ai vu le commercial (pas facile le type... :@)

En tout cas mon problème est résolu comme il compte faire une négoce pour obtenir une url affichable en iframe sur mon site. Donc pas à se casser la tête pour récupérer les cours moi-même.

En tout cas merci.

En espérant que ça pourra aider d'éventuel navigateur de la toile à trouver leurs marques sur ce sujet. ;)