| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- from html.parser import HTMLParser
- import json
- #Classe Pour extraire les données historique
- class MyHTMLParser(HTMLParser):
- def __init__(self):
- HTMLParser.__init__(self)
- self.recording = 0
- self.data = []
-
- def handle_starttag(self, tag, attrs):
- if attrs == [('class', 'c-table c-table--generic c-table--generic c-shadow-overflow__table-fixed-column'), ('data-table-sorter', None)]:
- self.recording=1
- def handle_endtag(self, tag):
- if tag =="table":
- self.recording=0
- def handle_data(self, data):
- if self.recording:
- tmp=data.replace(" ","")
- tmp=tmp.replace("\n","")
- if tmp!='':
- self.data.append(tmp)
-
- def struct(self):
- dic = {}
- i=11;
- dic["1semaine"]=self.data[i:i+3]
- i+=4
- dic["1mois"]=self.data[i:i+3]
- i+=4
- dic["3mois"]=self.data[i:i+3]
- i+=4
- dic["6mois"]=self.data[i:i+3]
- i+=4
- dic["1an"]=self.data[i:i+3]
- i+=4
- dic["3ans"]=self.data[i:i+3]
- i+=4
- dic["5ans"]=self.data[i:i+3]
- i+=4
- dic["10ans"]=self.data[i:i+3]
- i+=4
- dic["MM20"]=self.data[i]
- i+=1
- dic["MM50"]=self.data[i]
- i+=1
- dic["MM100"]=self.data[i]
- i+=1
- dic["RSI14"]=self.data[i]
- i+=1
- return dic
-
- def getData(self):
- return self.data
- #Fonction pour extraire les donnée du graphique journalier
- def Daily(self,html):
- l1=html.find("var chart") #On cherche le debuy du JSON du graph
- l2=html.find("chart.data.amChartData);") # On cherche la fin du JSON du graph
- data=html[l1+29:l2+32-276] # A améliorrer ???
- data = json.loads(data) # On charge le Json
-
- idf = data["data"]["amChartConfig"]["graphs"][0]["id"]# On recupere l'identifiant du graphique
- data=data["data"]["amChartData"][idf]#On extrait du Json les valeurs du graph
-
- dic={}
- for i in data : #Pour chaque valeurs de la journée on met dans le dictionnaire
- heu = i["period"]
- val = i["value"]
- dic[heu]=val
-
- return dic
|