page grattant pour obtenir des prix à partir de google finance
Je suis en train d'essayer d'obtenir le prix des actions en grattant google finance pages, je le fais en python, en utilisant urllib pack, puis en utilisant les regex pour obtenir des données sur les prix.
Quand je laisse mon script python en cours d'exécution, il travaille d'abord pendant un certain temps (quelques minutes), puis commence à jeter exception [Erreur HTTP 503: Service non disponible]
Je suppose que cela se passe parce que sur le web côté serveur, il détecte les fréquentes mises à jour de page comme un robot, et le jette de cette exception, après un certain temps..
est-il un moyen de contourner cela, c'est à dire la suppression de certains cookie ou la création de certains cookie etc..
ou encore mieux si google donne quelques api, je veux le faire en python car la complète application en python, mais si il n'y a rien de disponible en python pour ce faire, je peux envisager des solutions de rechange. C'est mon python méthode que j'utilise dans la boucle pour obtenir des données ( avec quelques secondes de sommeil, j'ai appeler cette méthode dans la boucle)
def getPriceFromGOOGLE(self, symbol):
"""
gets last traded price from google for given security
"""
toReturn = 0.0
try:
base_url = 'http://google.com/finance?q='
req = urllib2.Request(base_url + symbol)
content = urllib2.urlopen(req).read()
namestr = 'name:\"' + symbol + '\",cp:(.*),p:(.*),cid(.*)}'
m = re.search(namestr, content)
if m:
data = str(m.group(2).strip().strip('"'))
price = data.replace(',','')
toReturn = float(price)
else:
print 'ERROR ' + str(symbol) + ' --- ' + str(content)
except Exception, exc:
print 'Exc: ' + str(exc)
finally:
return toReturn
D'accord...et l'API est une interface qui vous est fournie par Google"
Est-ce légal? Je veux faire du web démolition sur google et yahoo?
Je préfère utiliser ceci: fixer.io
OriginalL'auteur user424060 | 2011-04-12
Vous devez vous connecter pour publier un commentaire.
Il y a une API Google Finance:
http://code.google.com/apis/finance/docs/2.0/developers_guide_protocol.html
Et il y a un client Python library:
http://code.google.com/p/gdata-python-client/
OriginalL'auteur AJ.
La question est assez ancien mais la réponse choisie n'est plus valable.
L'API a été désapprouvée.
Il y a un projet open source pour gratter toutes les entreprises à partir de Google finance et de les associer à leur prix actuel à http://scrape-google-finance.compunect.com/
Le projet a résolu la plupart des problèmes, comprend la mise en cache, la gestion de la propriété intellectuelle et travaille stable sans être bloquées.
Il utilise l'interne de la société de financement de contrepartie de l'api pour gratter les entreprises et le tableau api pour obtenir les prix.
Cependant, il est du code php, pas de python. Vous pouvez encore apprendre comment il a résolu les tâches et de les adapter.
Vous avez raison, le code est open source, si vous avez un moins cher/IP solution que vous voulez ot essayez juste de prendre les pièces dont vous avez besoin. Pour google finance, vous n'aurez pas besoin de beaucoup d'IPs, selon exactement ce que vous voulez faire.
OriginalL'auteur John
Pour obtenir autour de la plupart de limitation de vitesse ou le moteur de recherche-détection de l'aime de Google ou Wikipedia ou Yahoo, d'usurper votre user-agent.
Cela rendra votre script demandes semblent être de la dernière version de Google Chrome.
OriginalL'auteur Aphex
Yahoo Finance est aussi un bon endroit pour obtenir de l'information financière qui couvre plus de pays et de stocks.
Pour python 2, vous pouvez utiliser ystockquote. Pour python 3, vous pouvez utiliser yfq que je réécriture de la précédente.
Pour suivre l'évolution des cours de bourse de Google et Intel.
Pour obtenir des citations historiques de Yahoo à partir de 3 Mars 2012 au 5 Mars 2012.
OriginalL'auteur angelo