Partage
  • Partager sur Facebook
  • Partager sur Twitter

Automatiser téléchargement fichiers .csv sur web

    26 juillet 2019 à 18:19:54

    Bonjour,

    Je programme depuis longtemps, mais je manipule exclusivement des tableaux (Matlab, Excel, ...).

    Je cherche à constituer une base de données de cotations boursières à partir de celles proposées par le site Euronext. Ce site propose de télécharger, pour une action ou un indice donné, l'historique des cotations sur les 5 derniers jours au format .csv (entre autres).

    Exemple : Action Accor (il faut cliquer sur "Téléchargement" en dessous du graphique pour faire apparaître un menu dynamique proposant les différents formats, dont le .csv)

    Le process est relativement aisé pour télécharger une cotation. Je souhaite télécharger les .csv de dizaines (voire centaines) d'actions et dois répéter l'opération tous les 5 jours.

    Je souhaite donc coder un programme qui se chargera d'aller télécharger automatiquement les actions/indices que j'aurais spécifié au préalable "manuellement". Idéalement, j'aimerais que le programme se déclenche automatiquement en fonction de la date, mais je peux me contenter de lancer la routine toutes les semaines si trop compliqué.

    N'ayant jamais codé un programme de ce type, je ne sais absolument pas par où commencer et suis preneur de toute documentation/piste que vous pouvez me donner à ce sujet.

    Merci d'avance !

    -
    Edité par Derivacace 26 juillet 2019 à 18:21:25

    • Partager sur Facebook
    • Partager sur Twitter
      27 juillet 2019 à 4:09:17

      Salut,

      Tu peux utiliser selenium pour simuler des clics utilisateurs (tu peux en voir un exemple ici, c'est une API qui permet de réserver un TGVMax, alors que quelques clics utilisateurs sont normalement nécessaires). Tu en auras besoin pour cliquer sur le bouton Télécharger. Sinon, avec un peu de chance, tu peux regarder l'appel que fait le bouton au moment où tu cliques dessus (dans ton exemple, on voit un onclick="intraday_historical_export(String(/csv/))"). Si tu peux y accéder sans générer le JavaScript (sans cliquer sur le bouton donc), tu peux simplement utiliser requests ou requests-html pour récupérer ton fichier je pense.

      En ce qui concerne l'exécution en fonction de la date, soit tu mets l'exécution de ton script dans une crontab si tu es sous Linux, soit de manière plus "sale", tu dois pouvoir faire tourner le programme en continu et checker continuellement s'il doit exécuter la fonction qui récupère les fichiers en regardant la date.

      -
      Edité par BunshinKage 27 juillet 2019 à 4:14:24

      • Partager sur Facebook
      • Partager sur Twitter
        27 juillet 2019 à 21:45:58

        Selenium c'est très lourd à n'utiliser qu'en dernier recours. Comme l'a dit BunshinKage il faut avant tout observer les données téléchargées, ça ce fait à l'aide du débogueur de firefox (ou de chrome pour les mainstream).

        Par ex regarde le gros json que l'on obtiens avec cet url :

        https://live.euronext.com/intraday_chart/getChartData/FR0000120404-XPAR/intraday

        Ça semble être exactement ce qu'il y a dans le CSV.

        Du coup, tu as juste à utiliser requests et retransformer le json en csv.

        -
        Edité par thelinekioubeur 27 juillet 2019 à 21:47:08

        • Partager sur Facebook
        • Partager sur Twitter

        Automatiser téléchargement fichiers .csv sur web

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown