2017-01-02 11 views
1

J'essaie de télécharger des données financières de sociétés. J'ai beaucoup utilisé getFin() sans rencontrer de problème.Impossible de télécharger des données financières avec getFin() dans R - Le statut HTTP est '403 Interdit'

À l'heure actuelle, je ne peux pas télécharger de données et lorsque j'utilise, par ex. ce code (et fondamentalement tout autre symbole valide au lieu de "AAPL"):

getFin("AAPL")

je reçois le message d'erreur suivant:

Error in download.file(paste(google.fin, Symbol, sep = ""), quiet = TRUE, : 
cannot open URL 'http://finance.google.com/finance?fstype=ii&q=AAPL' 
In addition: Warning message: 
In download.file(paste(google.fin, Symbol, sep = ""), quiet = TRUE, : 
cannot open URL 'http://finance.google.com/finance?fstype=ii&q=AAPL': HTTP status was '403 Forbidden' 

Cependant, si je tente d'accéder au site Web http://finance.google.com/finance?fstype=ii&q=AAPL via un navigateur, je n'ai aucun problème avec l'accès au site.

Alors, pourquoi suis-je incapable de télécharger des données avec getFin() dans RStudio tout d'un coup?

+1

vous pouvez être limité à taux si vous maltraitez programme le service – hrbrmstr

Répondre

0

Avez-vous essayé de vider votre cache ou de passer incognito et d'accéder à l'URL?

En supposant que vous êtes sur un serveur linux et en utilisant PHP, vous pouvez essayer de mettre à jour votre version de PHP, il devrait être mis sur la documentation api Google Finance

+0

Je suis sur la machine Windows et n'ont pas encore effacé le cache. Eh bien, il fonctionne à nouveau après quelques minutes. Ce problème a-t-il pu se produire du fait que j'ai utilisé url.exists pour vérifier l'accessibilité de plusieurs symboles (et éventuellement des urls) et donc que Google m'a empêché de "mal utiliser" le service? –

+0

Il est possible que google soit un peu trop rapide pour pénaliser les utilisateurs de services malveillants. Une simple erreur de code peut empêcher vos applications Web de fonctionner. Consultez la documentation pour essayer de le diagnostiquer. temps, content que tu l'as réparé Pat! –

+0

Je pense utiliser 'Sys.sleep()'. Je me demande simplement combien de secondes je devrais appliquer après combien de demandes. –