Bonjour à tous!
Voici le topo:
Je cherche à récupérer de façon automatique et périodique quelques informations boursières issues de yahoo finances. Je compte pour cela utiliser uniquement les modules pré-installés avec Python. J'ai fait une première tentative plutôt concluante que voici:
Ici, je récupère la valeur boursière à l'ouverture de l'entreprise Boeing.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 import urllib2 import HTMLParser class Parser(HTMLParser.HTMLParser): """ Parser test """ def __init__(self): HTMLParser.HTMLParser.__init__(self) self.FindOuverture = False self.OuvertureValue = 0.0 def handle_data(self,data): if self.FindOuverture: self.OuvertureValue = float(data.replace(',','.')) self.FindOuverture = False if data == 'Ouverture:': self.FindOuverture = True def DisplayData(self): print ("Ouverture: " + str(self.OuvertureValue)) if __name__ == "__main__": parser = Parser() webPage = urllib2.urlopen("http://fr.finance.yahoo.com/q?s=EN.PA&ql=0") html = webPage.read() parser.feed(html) parser.DisplayData() # Section qui doit merdé à mon avis parser.reset() parser.close()
Mon problème c'est que sur Win7 avec Python 2.7 lorsque je lance le script une première fois tout roule mais lors d'une nouvelle tentative il affiche la valeur par défaut (0.0). J'ai remarqué qu'il me fallait patienter quelques instants (plusieurs dizaines de secondes) avant de pouvoir récupérer la valeur succès, et ce malgré le reset (dont je ne vois finalement pas trop l'utilité mais que j'ai rajouté "aucasou") et le close.
Mais sur ma machine perso (Ubuntu 12.04 et python 2.7), ça marche parfaitement, même en lançant le script à la suite.
Des idées?
Merci,
Ju
Partager