Depuis un certain temps, j'utilise l'API REST suivante pour interroger Yahoo Finance sur les prix actuels. Il est documenté dans plusieurs messages de dépassement de pile, par exemple. Yahoo finance webservice et ailleurs dans yahoo-finance .
http://finance.yahoo.com/webservice/v1/symbols/$SYMBOLS/quote?format=json
où $ SYMBOLS est une liste de symboles boursiers ou index séparés par des virgules.
Hier, la requête a cessé de fonctionner et n'a renvoyé qu'un message "Déplacé temporairement. Redirection vers ...".
Ce service Web est-il maintenant fermé? At-il été remplacé par YQL ou une autre API? Les requêtes pour un tableau des prix historiques à "ichart" fonctionnent toujours. Par exemple.,
http://ichart.finance.yahoo.com/table.csv?d=2&e=3&f=2016&g=d&a=0&b=1&c=2011&ignore=.csv&s=$SYMBOL
Merci.
Je faisais face à un problème similaire des 2-3 derniers jours. L'URL fonctionne sur le smartphone, où sur le bureau, l'erreur "Paramètre non valide" et le code HTTP 406 sont générés.
Cela peut être résolu en ajoutant l'agent utilisateur en tant que "Mozilla/5.0 (Linux; Android 6.0.1; MotoG3 Build/MPI24.107-55) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36 "lors de l'appel de la demande d'obtention.
Par exemple, si vous téléchargez à partir de curl en php, utilisez comme suit:
curl_setopt($session,CURLOPT_USERAGENT,"Mozilla/5.0 (Linux; Android 6.0.1; MotoG3 Build/MPI24.107-55) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36");
J'espère que cela résoudra le problème.
J'ai eu le même problème. Voici l'URL de l'API pour extraire des actions de YAHOO. J'espère que cela t'aides.
https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22YHOO%22)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=
Le service étant en panne, j'utilise l'URL suivante pour interroger les données Yahoo (pour ACA.PA):
Le résultat JSON est différent mais j'ai trouvé les informations qui m'intéressent.
Pour plus d'informations, visitez la page https://developer.yahoo.com/yql/
Oui, il semble que Yahoo! a abandonné l'API Yahoo Finance (privée, généralement non documentée) sur laquelle beaucoup s'appuient depuis des années pour les données de devise. Nous avons reçu des notifications à ce sujet au cours des dernières 24 heures. (edit: toutes les réponses semblent retourner "Not a valid parameter"
. Je suppose qu'il est possible qu'ils le rallument, mais ils ne supportent pas officiellement cette API où que ce soit à ma connaissance.)
J'ai créé Open Exchange Rates il y a environ cinq ans et notre API de taux de change prend désormais en charge une communauté de dizaines de milliers de développeurs - et leurs dizaines de millions d'utilisateurs - avec des informations précises et à jour. .
N'hésitez pas à consulter notre service Forever Free à l'adresse https://openexchangerates.org .
Notre API se présente sous un format JSON simple et original, qui est devenu une méthode standard d’affichage des taux car il est très simple de travailler avec ce dernier (contrairement à l’API de Yahoo, qui nécessitait l’analyse des objets imbriqués obscurs pour extraire le informations dont vous aviez besoin ...)
Si vous avez besoin d'assistance pour effectuer le portage à partir de Yahoo! API, nous nous ferons un plaisir de vous aider par courrier électronique.
(Je suis le fondateur de Open Exchange Rates.)
Je suis l'auteur de ValueViz sur github .
Prix journaliers
Vous devez connaître les services RESTFUL.
https://quantprice.herokuapp.com/api/v1.1/scoop/day?tickers=MSFT&date=2017-06-09
Prix historiques
Vous devez fournir une plage de dates:
https://quantprice.herokuapp.com/api/v1.1/scoop/period?tickers=MSFT&begin=2012-02-19&end=2012-02-2
Si vous ne fournissez pas début ou fin, il utilisera la date la plus ancienne ou la plus récente:
https://quantprice.herokuapp.com/api/v1.1/scoop/period?tickers=MSFT&begin=2012-02-19
Plusieurs tickers
Vous pouvez simplement utiliser des tickers séparés par des virgules:
https://quantprice.herokuapp.com/api/v1.1/scoop/period?tickers=IBM,MSFT&begin=2012-02-19
Limite de débit
Toutes les demandes sont limitées à 10 demandes par heure. Si vous souhaitez vous inscrire à une API d'accès complet, envoyez-moi DM sur Twitter. Vous recevrez une clé API à ajouter à l'URL.
Nous mettons en place un compte Paypal pour un abonnement payant sans tarif.
Liste des tickers disponibles
https://github.com/robomotic/valueviz/blob/master/scoop_tickers.csv
Je travaille également à fournir des données fondamentales et des données d’entreprise à partir d’EDGAR. À votre santé.
J'ai trouvé un moyen d'utiliser l'API csv.
où vous devez écrire le symbole, les paramètres et les colonnes.
Utilisez ce site pour trouver les paramètres nécessaires: http://www.jarloo.com/yahoo_finance/
exemple:
Si vous avez besoin de connaître le volume du symbole, remplacez la chaîne sl1d1t1c1ohgv
par v
et remplacez les colonnes symbol%2Cprice%2Cdate%2Ctime%2Cchange%2Ccol1%2Chigh%2Clow%2Cvolume
par volume
Le seul problème est que les données sont un peu aléatoires et pas en temps réel comme dans l'API Webservice
Il redirige vers la même page, mais en ajoutant le paramètre "bypass = true", ce qui donne une erreur.
EDIT: La réponse donnée par https://stackoverflow.com/users/6593038/hemant-prasad fonctionne pour moi. Lorsque vous remplacez l'agent utilisateur par un périphérique mobile, l'API fonctionne correctement et ne redirige pas jusqu'à présent.
C'est le code que j'utilise dans Java (c'est pour la version XML, mais il peut aussi être utilisé pour JSON):
URL url = new URL ("https://finance.yahoo.com/webservice/v1/symbols/" + stocks + "/quote");
HttpURLConnection urlc = (HttpURLConnection) url.openConnection ();
urlc.setRequestProperty ("User-Agent", "Mozilla/5.0 (Linux; Android 6.0; MotoE2(4G-LTE) Build/MPI24.65-39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36");
Document xml = DocumentBuilderFactory.newInstance ().newDocumentBuilder ().parse (urlc.getInputStream ());
Découvrez cet excellent API Wrapper, disponible sur NuGet: https://github.com/salmonthinlion/YahooFinanceApi
Obtenir des cotations boursières
var quotes = await Yahoo.Symbol("AAPL", "GOOG").Tag(Tag.LastTradePriceOnly, Tag,ChangeAndPercentChange, Tag.DaysLow, Tag.DaysHigh).GetAsync();
var aapl = quotes["AAPL"];
var price = aapl[Tag.LastTradePriceOnly];
Obtenir les données historiques d'un stock
// You should be able to query data from various markets including US, HK, TW
var history = await Yahoo.GetHistoricalAsync("AAPL", new DateTime(2016, 1, 1), new DateTime(2016, 7, 1), Period.Daily);
foreach (var candle in history)
{
Console.WriteLine($"DateTime: {candle.DateTime}, Open: {candle.Open}, High: {candle.High}, Low: {candle.Low}, Close: {candle.Close}, Volume: {candle.Volume}, AdjustedClose: {candle.AdjustedClose}");
}
Obtenir l'historique des dividendes pour une action
// You should be able to query data from various markets including US, HK, TW
var dividendHistory = await Yahoo.GetHistoricalDividendsAsync("AAPL", new DateTime(2016, 1, 1), new DateTime(2016, 7, 1));
foreach (var candle in dividendHistory)
{
Console.WriteLine($"DateTime: {candle.DateTime}, Dividend: {candle.Dividend}");
}