Partage
  • Partager sur Facebook
  • Partager sur Twitter

Import automatique données d'une page php vers sql

    7 octobre 2016 à 22:23:16

    Bonsoir à tous

    on vient d'acheter une station météo dans mon établissement. Les mesures de cette dernière sont envoyées vers le site de weatherlink.com

    Je peux visualiser les mesures à une adresse comme celle-ci: http://www.weatherlink.com/user/citejeanmoulin

    Pour que les données soient facilement utilisables par mes élèves, je souhaite mettre en place une requête dans une base de données pour que les mesures soient enregistrées automatiquement, toutes les minutes, depuis la page ci-dessus vers ma bdd.

    Quelqu'un peut-il m'indiquer comment je dois m'y prendre? je suis totalement perdu!

    Merci pour votre aide

    • Partager sur Facebook
    • Partager sur Twitter
      8 octobre 2016 à 14:00:44

      Y aurait il moyen de paramétrer ta station météo pour qu'elle envoie ses mesures vers ton serveur directement ? Ce serait bien plus simple...
      • Partager sur Facebook
      • Partager sur Twitter
        8 octobre 2016 à 22:26:47

        hélas non, impossible! sinon, c'est trop simple! lol
        • Partager sur Facebook
        • Partager sur Twitter
          10 octobre 2016 à 9:18:17

          Bonjour,

          guietfa a écrit:

          hélas non, impossible! sinon, c'est trop simple! lol

          A coeur vaillant rien d'impossible ! :D

          Plus sérieusement, n'avez-vous pas la main sur cette interface ? C'est une boîte noire ? On pourrait imaginer une application Arduino par exemple ...

          Peut-être faudrait-il interroger le fabricant de la station ... soit pour pouvoir coder une interface "secondaire", soit pour utiliser une éventuelle API d'interrogation qu'il proposerait.

          • Partager sur Facebook
          • Partager sur Twitter
          Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
            10 octobre 2016 à 13:06:42

            Il y a deux sortes de HTML :

            1) Le HTML sémantique, genre : <span id="temperature">30°C</span>

            2) La soupe : <span class="gras rouge">30°C</span>

            Parser le premier est simple : getElementById(). Mais le second est plus délicat, car tu vas te retrouver avec des règles du genre "la température c'est le 2è span en gras dans le 3è <td> du 2è <tr> de la 4è table". Et à chaque fois que les mecs changent leur mise en page, ton programme pète, ou bien il intervertit la T° et a vitesse du vent, etc.

            Quand tu parses de la soupe de HTML, tu prends un abonnement en fait : à chaque mise à jour du design du site parsé, il faudra refaire le job. C'est vite fait sur le coup mais relativement pénible dans la durée.

            Ton appareil est-il capable de faire passer ses requêtes à travers un proxy HTTP? Si cette option de configuration est dispo, tu pourrais faire un proxy "espion" qui analyse ses requêtes et les enregistre au passage.

            • Partager sur Facebook
            • Partager sur Twitter
              10 octobre 2016 à 17:56:43

              Salut

              Merci a vous deux pour vos réponses!

              Pour Benzouye : Non, je n'ai pas la main sur cette interface. En revanche, je peux obtenir un xml avec l'adresse suivante : 

              http://www.weatherlink.com/xml.php?user=mastation&pass=*****

              J'obtiens alors une page qui s'affiche avec ce code : 

              This XML file does not appear to have any style information associated with it. The document tree is shown below.
              <current_observation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:noNamespaceSchemaLocation="http://www.weather.gov/view/current_observation.xsd">
              <credit>Davis Instruments Corp.</credit>
              <credit_URL>http://www.davisnet.com</credit_URL>
              <image>
              <url>
              http://www.weatherlink.com/images/Logo_Davis_reflxblu.jpg
              </url>
              <title>Davis WeatherLink</title>
              <link>http://www.weatherlink.com</link>
              </image>
              <suggested_pickup>15 minutes after the hour</suggested_pickup>
              <suggested_pickup_period>60</suggested_pickup_period>
              <dewpoint_c>4.4</dewpoint_c>
              <dewpoint_f>40</dewpoint_f>
              <dewpoint_string>40 F (4.4 C)</dewpoint_string>
              <heat_index_c>13.9</heat_index_c>
              <heat_index_f>57</heat_index_f>
              <heat_index_string>57 F (13.9 C)</heat_index_string>
              <latitude>*****</latitude>
              <location>Ma ville, Orne,</location>
              <longitude>-*****</longitude>
              <observation_time>Last Updated on Oct 10 2016, 5:33 pm CEST</observation_time>
              <observation_time_rfc822>Mon, 10 Oct 2016 17:33:15 +0200</observation_time_rfc822>
              <pressure_in>30.187</pressure_in>
              <pressure_mb>1022.2</pressure_mb>
              <pressure_string>1022.2 mb</pressure_string>
              <relative_humidity>49</relative_humidity>
              <station_id>Ma station</station_id>
              <temp_c>15.1</temp_c>
              <temp_f>59.1</temp_f>
              <temperature_string>59.1 F (15.1 C)</temperature_string>
              <wind_degrees>88</wind_degrees>
              <wind_dir>East</wind_dir>
              <wind_kt>7</wind_kt>
              <wind_mph>8</wind_mph>
              <windchill_c>13.9</windchill_c>
              <windchill_f>57</windchill_f>
              <windchill_string>57 F (13.9 C)</windchill_string>
              <davis_current_observation version="1.0">
              <observation_age>26</observation_age>
              <dewpoint_day_high_f>46</dewpoint_day_high_f>
              <dewpoint_day_high_time>11:01am</dewpoint_day_high_time>
              <dewpoint_day_low_f>30</dewpoint_day_low_f>
              <dewpoint_day_low_time>7:56am</dewpoint_day_low_time>
              <dewpoint_month_high_f>51</dewpoint_month_high_f>
              <dewpoint_month_low_f>30</dewpoint_month_low_f>
              <dewpoint_year_high_f>68</dewpoint_year_high_f>
              <dewpoint_year_low_f>30</dewpoint_year_low_f>
              <heat_index_day_high_f>59</heat_index_day_high_f>
              <heat_index_day_high_time>1:58pm</heat_index_day_high_time>
              <heat_index_month_high_f>63</heat_index_month_high_f>
              <heat_index_year_high_f>87</heat_index_year_high_f>
              <pressure_day_high_in>30.306</pressure_day_high_in>
              <pressure_day_high_time>12:00am</pressure_day_high_time>
              <pressure_day_low_in>30.185</pressure_day_low_in>
              <pressure_day_low_time>5:29pm</pressure_day_low_time>
              <pressure_month_high_in>30.308</pressure_month_high_in>
              <pressure_month_low_in>29.674</pressure_month_low_in>
              <pressure_tendency_string>Falling Slowly</pressure_tendency_string>
              <pressure_year_high_in>30.439</pressure_year_high_in>
              <pressure_year_low_in>29.288</pressure_year_low_in>
              <rain_day_in>0.0000</rain_day_in>
              <rain_month_in>0.0000</rain_month_in>
              <rain_rate_day_high_in_per_hr>0.0000</rain_rate_day_high_in_per_hr>
              <rain_rate_hour_high_in_per_hr>0.0000</rain_rate_hour_high_in_per_hr>
              <rain_rate_in_per_hr>0.0000</rain_rate_in_per_hr>
              <rain_rate_month_high_in_per_hr>0.0000</rain_rate_month_high_in_per_hr>
              <rain_rate_year_high_in_per_hr>0.7874</rain_rate_year_high_in_per_hr>
              <rain_storm_in>0.0000</rain_storm_in>
              <rain_year_in>0.5197</rain_year_in>
              <relative_humidity_day_high>95</relative_humidity_day_high>
              <relative_humidity_day_high_time>1:40am</relative_humidity_day_high_time>
              <relative_humidity_day_low>41</relative_humidity_day_low>
              <relative_humidity_day_low_time>4:29pm</relative_humidity_day_low_time>
              <relative_humidity_in>47</relative_humidity_in>
              <relative_humidity_in_day_high>55</relative_humidity_in_day_high>
              <relative_humidity_in_day_high_time>12:00am</relative_humidity_in_day_high_time>
              <relative_humidity_in_day_low>43</relative_humidity_in_day_low>
              <relative_humidity_in_day_low_time>1:14pm</relative_humidity_in_day_low_time>
              <relative_humidity_in_month_high>57</relative_humidity_in_month_high>
              <relative_humidity_in_month_low>36</relative_humidity_in_month_low>
              <relative_humidity_in_year_high>66</relative_humidity_in_year_high>
              <relative_humidity_in_year_low>33</relative_humidity_in_year_low>
              <relative_humidity_month_high>96</relative_humidity_month_high>
              <station_name>station météo du collège</station_name>
              <sunrise>8:14am</sunrise>
              <sunset>7:21pm</sunset>
              <temp_day_high_f>61.3</temp_day_high_f>
              <temp_day_high_time>2:02pm</temp_day_high_time>
              <temp_day_low_f>32.3</temp_day_low_f>
              <temp_day_low_time>8:06am</temp_day_low_time>
              <temp_in_day_high_f>71.3</temp_in_day_high_f>
              <temp_in_day_high_time>4:40pm</temp_in_day_high_time>
              <temp_in_day_low_f>56.9</temp_in_day_low_f>
              <temp_in_day_low_time>7:20am</temp_in_day_low_time>
              <temp_in_f>68.8</temp_in_f>
              <temp_in_month_high_f>76</temp_in_month_high_f>
              <temp_in_month_low_f>56.9</temp_in_month_low_f>
              <temp_in_year_high_f>86</temp_in_year_high_f>
              <temp_in_year_low_f>56.9</temp_in_year_low_f>
              <temp_month_high_f>65</temp_month_high_f>
              <temp_month_low_f>32.3</temp_month_low_f>
              <temp_year_high_f>87</temp_year_high_f>
              <temp_year_low_f>32.3</temp_year_low_f>
              <wind_day_high_mph>11</wind_day_high_mph>
              <wind_day_high_time>2:56pm</wind_day_high_time>
              <wind_month_high_mph>22</wind_month_high_mph>
              <wind_ten_min_avg_mph>4</wind_ten_min_avg_mph>
              <wind_year_high_mph>31</wind_year_high_mph>
              <windchill_day_low_f>32</windchill_day_low_f>
              <windchill_day_low_time>7:56am</windchill_day_low_time>
              <windchill_month_low_f>32</windchill_month_low_f>
              <windchill_year_low_f>32</windchill_year_low_f>
              </davis_current_observation>
              <disclaimer_url>http://www.weatherlink.com/terms_corporate.php</disclaimer_url>
              <copyright_url>http://www.weatherlink.com/terms_corporate.php</copyright_url>
              <privacy_policy_url>http://www.weatherlink.com/privacy_corporate.php</privacy_policy_url>
              <time_to_generate>0.044879</time_to_generate>
              </current_observation>

              est-il possible de l'utiliser?

              Lord casque noir : 

              si je comprends bien, moi, j'ai droit à la soupe... Mais il me semble que cette page est vraiment fixe.

              Pour copier une valeur, n'est-il pas possible d'écrire un truc du genre : va copier la valeur écrite après "baromètre" ?

              Pour ce qui est de passer au travers d'un Proxy, je crois bien que non, ça a déjà été une vraie galère pour que le transfert des données puisse se faire au collège.

              Et à vrai dire, j'aurai bien aimé pouvoir récupérer les données d'autres stations qui ne sont pas les miennes en passant par la page que j'ai citée dans mon premier message histoire de pouvoir faire un comparatif avec les élèves. Du coup, pas d'accès à l'appareil et pas de mot de passe pour obtenir le xml ci dessus. 

              Mais bon, ma priorité est de récupérer mes propres données.

              • Partager sur Facebook
              • Partager sur Twitter
                10 octobre 2016 à 18:08:16

                Cette page est de la soupe : http://www.weatherlink.com/user/citejeanmoulin

                Cette page est mieux structurée donc plus facile à parser : http://www.weatherlink.com/user/citejeanmoulin/index.php?view=summary&headers=0

                Par contre, le xml que tu viens de poster est parfaitement exploitable.

                > j'aurai bien aimé pouvoir récupérer les données d'autres stations qui ne sont pas les miennes

                Hm, OK. En effet il faut parser le HTML dans ce cas.

                • Partager sur Facebook
                • Partager sur Twitter
                  10 octobre 2016 à 18:19:39

                  Lord Casque Noir a écrit:

                  > j'aurai bien aimé pouvoir récupérer les données d'autres stations qui ne sont pas les miennes

                  Hm, OK. En effet il faut parser le HTML dans ce cas.


                  Ou avoir le mot de passe correspondant  ...
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
                    10 octobre 2016 à 18:19:52

                    Peux tu m'expliquer comment parser le xml? on va déjà commencer par ce qui m'appartient...

                    ps : j'utilise le vocabulaire que tu m'enseignes mais de là à dire que je comprends ce que ça veut dire ;-) .... Parser?

                    • Partager sur Facebook
                    • Partager sur Twitter
                      10 octobre 2016 à 19:16:00

                      Parser (de l'anglais to parse, en gros, transformer du texte en données utilisables).

                      À l'arrache :

                      #! /bin/env python
                      # -*- CODING: UTF-8 -*-
                      
                      import urllib, pprint
                      from BeautifulSoup import BeautifulSoup
                      
                      # Télécharge la page, avec un cache pour ne pas le refaire à chaque essai du programme.
                      # Bien sûr, une fois le développement fini, il faudra enlever ça.
                      def getpage( login_weatherlink ):
                          fname = "%s.html" % login_weatherlink
                          try:
                              data = open(fname).read()
                          except:
                              data = urllib.urlopen("http://www.weatherlink.com/user/%s/index.php?view=summary&headers=0" % login_weatherlink).read()
                              open(fname,"w").write(data)
                          return data
                      
                      # helper pour parser les tables
                      def parse_table( rows, labels ):
                          for r in rows:
                              tds = r.findChildren("td")
                              if len(tds) <= 1:
                                  continue
                              header = tds[0].text.strip().lower()    # colonne de gauche : étiquette
                              for label,td in zip(labels,tds[1:]):
                                  text = td.text.strip()
                                  if text:
                                      yield label+" "+header, text
                      
                      def parse( html ):
                          # Soyons sales. On coupe tout ce qui dépasse. 
                          # Le HTML de la page est invalide et fait planter les autres parseurs anyway.
                          html = html[ html.index("<!-- START: SUMMARY WEATHER DISPLAY -->") : html.index("<!-- END: SUMMARY WEATHER DISPLAY -->")]
                          html = unicode( html, "utf-8" )
                          soup = BeautifulSoup( html, convertEntities=BeautifulSoup.HTML_ENTITIES )
                          
                          # chope la première table et ses lignes
                          table = soup.find("table")
                          rows  = table.findChildren("tr")
                          result= {}
                          
                          # affiche le html avec les numéros de lignes pour debug
                          for (n,r) in enumerate(rows):
                              print n,r
                      
                          # les deux lignes de titre
                          # note : le code est conçu pour échouer avec une exception si la mise en page n'est pas conforme
                          for r in rows[2:4]:
                              td   = r.find("td", colspan=6)
                              cls  = td["class"]
                              assert cls
                              text = td.text.strip()
                              result[cls] = text
                          
                          # parse la première table.
                          # on définit les labels à la main
                          result.update( parse_table( rows[6:27],  ("current", "high", "high_time", "low", "low_time")))
                          result.update( parse_table( rows[29:33], ("wind_2min", "wind_10min")))
                          result.update( parse_table( rows[35:],   ("rain_rate", "rain_day", "rain_storm", "rain_month", "rain_year")))
                          
                          return result
                      
                      data = getpage( "citejeanmoulin")
                      result = parse( data )
                      pprint.pprint( result )
                      
                      


                      Le principe ici est de coder un peu en dur, puisque de toutes façons le code est dépendant de la mise en page...

                      J'utilise les étiquettes de lignes, plus celles des colonnes (fournies à la main) pour donner à chaque élément un nom unique.

                      Le résultat est :

                      {u'current 12 hour forecast': u'Increasing clouds and warmer. Precipitation possible within 12 to 24 hours. Windy.',
                       u'current bar trend': u'Falling Slowly',
                       u'current barometer': u'1022.8hPa',
                       u'current dew point': u'8.9 C',
                       u'current heat index': u'15.0 C',
                       u'current inside humidity': u'51%',
                       u'current inside temp': u'20.0 C',
                       u'current outside humidity': u'67%',
                       u'current outside temp': u'15.2 C',
                       u'current solar radiation': u'77 W/m2',
                       u'current uv radiation': u'0.0  Index',
                       u'current wind chill': u'15.0 C',
                       u'current wind direction': u'ENE\xa071\xb0',
                       u'current wind speed': u'Calm',
                       u'high barometer': u'1028.5hPa',
                       u'high dew point': u'10.6 C',
                       u'high heat index': u'16.1 C',
                       u'high inside humidity': u'56%',
                       u'high inside temp': u'20.4 C',
                       u'high outside humidity': u'97%',
                       u'high outside temp': u'16.7 C',
                       u'high solar radiation': u'710 W/m2',
                       u'high uv radiation': u'2.8  Index',
                       u'high wind speed': u'13 km/h',
                       u'high_time barometer': u'00:21',
                       u'high_time dew point': u'13:05',
                       u'high_time heat index': u'14:40',
                       u'high_time inside humidity': u'11:59',
                       u'high_time inside temp': u'15:08',
                       u'high_time outside humidity': u'08:44',
                       u'high_time outside temp': u'15:05',
                       u'high_time solar radiation': u'15:04',
                       u'high_time uv radiation': u'14:31',
                       u'high_time wind speed': u'13:39',
                       u'low barometer': u'1022.8hPa',
                       u'low dew point': u'2.2 C',
                       u'low inside humidity': u'51%',
                       u'low inside temp': u'16.1 C',
                       u'low outside humidity': u'59%',
                       u'low outside temp': u'2.8 C',
                       u'low wind chill': u'2.2 C',
                       u'low_time barometer': u'18:11',
                       u'low_time dew point': u'07:11',
                       u'low_time inside humidity': u'17:26',
                       u'low_time inside temp': u'08:37',
                       u'low_time outside humidity': u'15:13',
                       u'low_time outside temp': u'07:19',
                       u'low_time wind chill': u'07:11',
                       u'rain_day et': u'0.97mm',
                       u'rain_day rain': u'0.0mm',
                       u'rain_month et': u'14.0mm',
                       u'rain_month rain': u'9.2mm',
                       u'rain_rate last hour rain': u'0.0mm',
                       u'rain_rate rain': u'0.0mm/Hour',
                       u'rain_storm rain': u'0.0mm',
                       u'rain_year et': u'318.3mm',
                       u'rain_year rain': u'188.0mm',
                       u'summary_station_name': u'Cit\xe9 scolaire Jean-Moulin',
                       u'summary_timestamp': u'Current Conditions as of 18:15 Monday, October 10, 2016',
                       u'wind_10min average wind speed': u'1.6 km/h',
                       u'wind_10min wind': u'10 Minute',
                       u'wind_10min wind gust speed': u'4.8 km/h',
                       u'wind_2min average wind speed': u'1.0 km/h',
                       u'wind_2min wind': u'2 Minute'}

                      Après, tu prends ce que tu veux et tu les fourres dans une BDD ;)

                      • Partager sur Facebook
                      • Partager sur Twitter
                        10 octobre 2016 à 19:56:55

                        ouha, ca impressionne le niveau d'efficacité!!! 

                        Merci beaucoup pour ce travail. La, je me sens vraiment très très très mauvais car je me pose la question suivante : je le copie où ton code?

                        Ca fait pitié hein...lol

                        Autre question : "Après, tu prends ce que tu veux et tu les fourres dans une BDD" 

                        Oui mais comment?

                        • Partager sur Facebook
                        • Partager sur Twitter
                          10 octobre 2016 à 20:26:09

                          Il faudrait utiliser la librarie MySQL python pour insérer ça dans une BDD après.

                          Personne dans ton établissement ne connaît un peu de Python ? Tu pourrais demander de l'aide à un collègue...

                          • Partager sur Facebook
                          • Partager sur Twitter
                            10 octobre 2016 à 20:34:10

                            hélàs non, le collègue qui s'occupe de réseau informatique est totalement débordé et vraiment pas open...niveau programmation, je suis celui qui en connait le plus, c'est dire le niveau des autres collègues!

                            Le mysql, ça me parle un peu mais python, je découvre. 

                            Il s'agit de quoi? un logiciel? 

                            Pas possible de le faire sans python?

                            -
                            Edité par guietfa 10 octobre 2016 à 20:34:32

                            • Partager sur Facebook
                            • Partager sur Twitter
                              10 octobre 2016 à 20:40:41

                              Python c'est un langage de programmation...

                              Tu connais quoi comme langages de prog ?

                              • Partager sur Facebook
                              • Partager sur Twitter
                                10 octobre 2016 à 21:09:37

                                Ça pourrait sûrement se faire en php aussi, si quelqu'un veut entrer en scène ;)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  10 octobre 2016 à 21:12:18

                                  mais pour python, ca nécessite un programme particulier?

                                  J'ai dreamweaver? ca le fait pas?

                                  et le fichier que tu as fait, c'est con de ne pas pouvoir l'utiliser. Pas possible de le déposer directement ?

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    10 octobre 2016 à 21:21:01

                                    Euh, dreamweaver c'est juste pour faire du design graphique web...

                                    Après il va falloir que tu fasses le code qui fait tourner le site aussi ;)

                                    Tu n'aurais pas un étudiant que ça intéresse pour un projet ?

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      10 octobre 2016 à 21:24:31

                                      lol, je suis prof de collège! la réforme des programmes m'occupe très largement.

                                      La météorologie fait partie des nouveaux programmes.

                                      J'avais très envie de rendre accessible les données de la station accessibles sur le net. Ca semble plus compliqué que prévu!

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        10 octobre 2016 à 21:28:50

                                        Hm, tiens, je propose une stratégie alternative qui t'évitera d'avoir à apprendre à te servir d'une base de données et à apprendre à tes élèves à le faire !

                                        Idée : le programme que je viens de faire peut ajouter une ligne à un fichier .CSV à chaque fois que tu le lances. Après, tu peux utiliser Excel, si c'est plus simple pour toi.

                                        Par contre, ça rendra pas les données accessibles online. Si tu veux faire ça d'ailleurs, tu vas avoir envie de faire des graphiques, etc...

                                        -
                                        Edité par Lord Casque Noir 10 octobre 2016 à 21:29:36

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          10 octobre 2016 à 21:34:53

                                          oui, je souhaite faire des graphiques du genre :

                                          http://www.boock.ch/meteo/graphiques_dynamiques_journalier.php

                                          mais bon pour ça il faut une bdd! snif

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            10 octobre 2016 à 21:37:01

                                            Tu ne dois pas être le premier à avoir ce besoin, tu devrais chercher si quelqu'un a déjà développé un package open source pour ce genre de truc.

                                            -
                                            Edité par Lord Casque Noir 10 octobre 2016 à 21:37:21

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              10 octobre 2016 à 21:39:23

                                              j'ai déjà pas mal chercher mais le monde des passionnés de météo n'est pas des plus développés. et le monde des passionnés météo qui touchent en info, ben là c'est rare!
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                10 octobre 2016 à 21:50:32

                                                1) j'ai trouvé un truc fait par un Tchèque :

                                                http://pocasi.hovnet.cz/wxwugraphs.php?lang=en

                                                sa station doit être débranchée, mais si tu vas en 2013 il y a des données

                                                code source

                                                http://www.weather-watch.com/smf/index.php/topic,46621.0.html

                                                je ne sais pas si tu arriveras à installer ça, mais la majorité du taf a l'air d'avoir été faite !

                                                2) sur le truc que tu donnais en exemple, en bas il y a marqué "powered by graphweather"

                                                apparemment "graphweather" c'est un truc fait par un français

                                                http://www.aguilmard.com/wordpress/?page_id=11

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  10 octobre 2016 à 22:07:11

                                                  oui oui, pour graphweather, j'ai vu que c'est français mais je me suis trompé de lien à t'envoyer! je souhaite que les graph se trace en ligne, sans ordi branché. Une sorte de petit défi perso. J'ai pas envie de laisser un ordi allumé 24/24 au collège juste pour tracer des graphiques au fur et à mesure.

                                                  Du coup, je pense plutôt utiliser highcharts : http://www.highcharts.com/demo/line-basic

                                                  En tout cas, merci pour le lien. Va falloir retravailler mon anglais!:(

                                                  Je tiens à te remercier pour le temps que tu passes sur mon problème. C'est super sympa.

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    12 octobre 2016 à 11:48:03

                                                    OK !

                                                    Si tu trouves un package graphique avec une structure de BDD mySQL déjà faite, je te mettrai les commandes d'insertion BDD à la fin du script de récupération.

                                                    Sinon... eh ben il faut que tu fasses une structure de BDD. 

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      12 octobre 2016 à 12:05:38

                                                      Bonjour,

                                                      Passer par du PHP peut être une solution !

                                                      Pour cela il existe une librairie telle que Goutte :

                                                      https://github.com/FriendsOfPHP/Goutte

                                                      Elle permet de visiter une page web et de récupérer des informations contenu dans le code source.

                                                      Tu n'auras plus qu'à faire un petit script PHP qui visite à intervalle régulier le site ou les sites de données météos puis enregistre les informations filtrées dans ta base de donnée.

                                                      Je ne sais pas si tu t'y connais un peu en PHP...

                                                      -
                                                      Edité par FlorentDupé 12 octobre 2016 à 12:07:11

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        14 octobre 2016 à 13:48:28

                                                        Bonjour à tous 

                                                        merci pour vos réponse, je pense avoir trouvé une solution. Je vous tiens au courant si cela fonctionne

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

                                                        Import automatique données d'une page php vers sql

                                                        × 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