Yahoo - Api / Yql - hur lyckas ta data automatiskt? XML, XLS, CSV?
Hej!
Jag håller på att programmera en sida och har nu en sak kvar, som jag har dragit i det längsta för att börja pilla med. Jag har verkligen ingen aning om hur jag ska göra och trots att jag läst en del guider så är det som kinesiska för mig.
Det är så att jag vill visa aktiekurser på min hemsida, via Yahoos API.
Jag har än så länge lyckats att skapa ett Excel-dokument där man kan ladda ned aktie-informationen till alla Large Cap-aktier genom ett knapptryck. XLS-dokumentet går att ladda ned här. Det enklaste för mig vore om det på något sätt hade gått att automatisera uppdateringen av detta dokument och sedan plocka datan ifrån dokumentet till min hemsida. Dock vet jag inte hur man ska göra det?
Jag har läst lite bloggar/guider
Getting stock information with YQL and open data tables och via den guiden kan jag exempelvis få fram dagsförändringen på ett par Large Cap-aktierna via;
<?xml version="1.0" encoding="UTF-8"?>
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng"
yahoo:count="36" yahoo:created="2012-04-15T12:58:57Z" yahoo:lang="en-US">
<diagnostics>
<publiclyCallable>true</publiclyCallable>
<redirect from="http://datatables.org/alltables.env" status="301"><![CDATA[http://www.datatables.org/alltables.env]]></redirect>
<url execution-start-time="5" execution-stop-time="9"
execution-time="4" proxy="DEFAULT"><![CDATA[http://datatables.org/alltables.env]]></url>
<url execution-start-time="25" execution-stop-time="28"
execution-time="3" proxy="DEFAULT"><![CDATA[http://www.datatables.org/yahoo/finance/yahoo.finance.quotes....]]></url>
<url execution-start-time="101" execution-stop-time="160"
execution-time="59" proxy="DEFAULT"><![CDATA[http://download.finance.yahoo.com/d/quotes.csv?f=aa2bb2b3b4cc...]]></url>
<query execution-start-time="33" execution-stop-time="163"
execution-time="130" params="{url=[http://download.finance.yahoo.com/d/quotes.csv?f=aa2bb2b3b4cc...]}"><![CDATA[select * from csv where url=@url and columns='Ask,AverageDailyVolume,Bid,AskRealtime,BidRealtime,BookValue,Change&PercentChange,Change,Commission,ChangeRealtime,AfterHoursChangeRealtime,DividendShare,LastTradeDate,TradeDate,EarningsShare,ErrorIndicationreturnedforsymbolchangedinvalid,EPSEstimateCurrentYear,EPSEstimateNextYear,EPSEstimateNextQuarter,DaysLow,DaysHigh,YearLow,YearHigh,HoldingsGainPercent,AnnualizedGain,HoldingsGain,HoldingsGainPercentRealtime,HoldingsGainRealtime,MoreInfo,OrderBookRealtime,MarketCapitalization,MarketCapRealtime,EBITDA,ChangeFromYearLow,PercentChangeFromYearLow,LastTradeRealtimeWithTime,ChangePercentRealtime,ChangeFromYearHigh,PercebtChangeFromYearHigh,LastTradeWithTime,LastTradePriceOnly,HighLimit,LowLimit,DaysRange,DaysRangeRealtime,FiftydayMovingAverage,TwoHundreddayMovingAverage,ChangeFromTwoHundreddayMovingAverage,PercentChangeFromTwoHundreddayMovingAverage,ChangeFromFiftydayMovingAverage,PercentChangeFromFiftydayMovingAverage,Name,Notes,Open,PreviousClose,PricePaid,ChangeinPercent,PriceSales,PriceBook,ExDividendDate,PERatio,DividendPayDate,PERatioRealtime,PEGRatio,PriceEPSEstimateCurrentYear,PriceEPSEstimateNextYear,Symbol,SharesOwned,ShortRatio,LastTradeTime,TickerTrend,OneyrTargetPrice,Volume,HoldingsValue,HoldingsValueRealtime,YearRange,DaysValueChange,DaysValueChangeRealtime,StockExchange,DividendYield']]></query>
<javascript execution-time="420" instructions-used="6221943" table-name="yahoo.finance.quotes"/>
<user-time>461</user-time>
<service-time>66</service-time>
<build-version>26535</build-version>
</diagnostics>
<results>
<quote symbol="ABB.ST">
<Change>-2.90</Change>
</quote>
<quote symbol="ALFA.ST">
<Change>-2.30</Change>
</quote>
<quote symbol="AOIL-SDB.ST">
<Change>-0.10</Change>
</quote>
<quote symbol="ASSA-B.ST">
<Change>-6.10</Change>
</quote>
<quote symbol="AZN.ST">
<Change>-3.30</Change>
</quote>
<quote symbol="ATCO-A.ST">
<Change>-4.60</Change>
</quote>
<quote symbol="ATCO-B.ST">
<Change>-4.00</Change>
</quote>
<quote symbol="LJGR-B.ST">
<Change>0.00</Change>
</quote>
<quote symbol="ALIV-SDB.ST">
<Change>-5.10</Change>
</quote>
<quote symbol="AXFO.ST">
<Change>+1.30</Change>
</quote>
<quote symbol="BOL.ST">
<Change>-3.20</Change>
</quote>
<quote symbol="CAST.ST">
<Change>-1.45</Change>
</quote>
<quote symbol="ELUX-A.ST">
<Change>-4.50</Change>
</quote>
<quote symbol="ELUX-B.ST">
<Change>-2.40</Change>
</quote>
<quote symbol="EKTA-B.ST">
<Change>-2.50</Change>
</quote>
<quote symbol="ERIC-A.ST">
<Change>-1.60</Change>
</quote>
<quote symbol="ERIC-B.ST">
<Change>-1.90</Change>
</quote>
<quote symbol="FABG.ST">
<Change>-0.25</Change>
</quote>
<quote symbol="GETI-B.ST">
<Change>-2.30</Change>
</quote>
<quote symbol="HM-B.ST">
<Change>-3.70</Change>
</quote>
<quote symbol="HAKN.ST">
<Change>+1.00</Change>
</quote>
<quote symbol="SHB-A.ST">
<Change>-6.40</Change>
</quote>
<quote symbol="SHB-B.ST">
<Change>-4.20</Change>
</quote>
<quote symbol="HEXA-B.ST">
<Change>-1.90</Change>
</quote>
<quote symbol="HOLM-A.ST">
<Change>+4.20</Change>
</quote>
<quote symbol="HOLM-B.ST">
<Change>-1.70</Change>
</quote>
<quote symbol="HUFV-A.ST">
<Change>-0.55</Change>
</quote>
<quote symbol="HUFV-C.ST">
<Change>0.00</Change>
</quote>
<quote symbol="HUSQ-A.ST">
<Change>-0.57</Change>
</quote>
<quote symbol="HUSQ-B.ST">
<Change>-0.31</Change>
</quote>
<quote symbol="ST">
<Change>-0.06</Change>
</quote>
<quote symbol="ST">
<Change>-0.06</Change>
</quote>
<quote symbol="INVE-A.ST">
<Change>-2.60</Change>
</quote>
<quote symbol="INVE-B.ST">
<Change>-3.50</Change>
</quote>
<quote symbol="KINV-A.ST">
<Change>-0.80</Change>
</quote>
<quote symbol="KINV-B.ST">
<Change>-2.50</Change>
</quote>
</results>
</query>
Jag vet dock inte var jag ska göra av denna data, i vilket format/språk? Och hur får man den att uppdateras automatiskt? Jag läste om någon sorts "key" som man får via Yahoo, som tillåter en att "kalla" på datan 1000 gånger per dag.
Jag har även läst dessa två korta blogginläggen;
Get near Real-Time Stock Data From Yahoo Finance
Using the Yahoo Finance API for CSV
Jag vore väldigt tacksam om någon hade kunnat ge mig lite hintar om hur jag ska fortsätta från där jag nu fastnat. Tack på förhand!