Question

À l'heure actuelle, je peux obtenir cours de bourse en retournant xml et JSON en utilisant YQL console comme

sélectionner le symbole, le prix de csv où url = 'http: //download.finance.yahoo.com/d/quotes.csv s = IBM, YHOO, GOOG, MSFT & f = sl1d1t1c1ohgv & e = .csv' et colonnes = » symbole, le prix, la date, l'heure, le changement, col1, haut, bas, col2'

Je voudrais obtenir la liste complète des composants de

http://download.finance.yahoo.com/d/quotes.csv?s=@^HSI&f=sl1d1t1c1ohgv&e=.csv

en utilisant la console YQL, donc entrée I la déclaration ci-dessous dans la console YQL

sélectionner le symbole, le prix de csv où url = 'http: //download.finance.yahoo.com/d/quotes.csv s=@^HSI&f=sl1d1t1c1ohgv&e=.csv' et columns = 'symbole, le prix, date, l'heure, le changement, col1, haut, bas, col2'

mais il a dit que mon lien est invalide. Toutes les pensées et les solutions altératives?

Était-ce utile?

La solution

Votre requête a été presque correcte, mais l'URL a été considérée comme « invalide », comme vous l'avez dit. La solution est d'échapper correctement les valeurs de chaîne de requête.

http://download.finance.yahoo.com/d/quotes.csv?s=@^HSI&f=sl1d1t1c1ohgv&e=.csv

devient

http://download.finance.yahoo.com/d/quotes.csv?s=%40%5EHSI&f=sl1d1t1c1ohgv&e=.csv

Changer seulement ces deux personnages dans leur% des valeurs encodée permet YQL de retirer les données CSV.

select * from csv where url='http://download.finance.yahoo.com/d/quotes.csv?s=%40%5EHSI&f=sl1d1t1c1ohgv&e=.csv'

A part : YQL ne aime pas que le CSV a une ligne vide à la fin du fichier, cela entraînera des problèmes lorsque vous essayez d'utiliser la clause where columns. Si vous êtes d'accord avec les colonnes ayant appelé col<number> et veulent sauter la dernière ligne (vierge) puis utilisez and col8 is not null à la fin de votre requête.

Autres conseils

Ceci est l'URL correcte:

http://quote.yahoo. com / d / quotes.csv? s = & f = sl1d1t1c1ohgv & e = .csv

Pour Coca Cola:

http://quote.yahoo.com/d /quotes.csv?s=KO&f=sl1d1t1c1ohgv&e=.csv

Résultat: "KO", 69,74, "9/2/2011", "16:00", - 0.71,69.7201,69.99,69.50,8765529

Pour HSI:

http://quote.yahoo.com/d/quotes.csv?s = ^ HSI & f = sl1d1t1c1ohgv & e = .csv

"^ HSI", 19616,40, "9/5/2011", "4:01", - 596.51,19830.50,19830.50,19567.77,0

Voici un document API:

http://www.gummy-stuff.org/Yahoo-data.htm

Les solutions ci-dessus ne reçoivent pas une réponse complète à la question, malheureusement, vous ne les premiers résultats 51-52 (la première page), et non l'index complet.

Je ne pense pas que ce soit possible YQL brut, mais vous aurez besoin d'écrire du code pour obtenir le code HTML et boucle à travers chaque page de composants et de construire votre propre datatable contre elle.

J'ai essayé quelques moyens et un script C # qui peut le faire, il serait également trivial de le faire en Python et le charger dans une trame de données de pandas géants comme vous allez le long ou juste une simple liste / tuple si tous vous voulez est les symboles pour construire une liste de composants pour tester un portefeuille contre.

Si les gens sont toujours intéressés par cette solution, je peux poster le lien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top