This is a discussion on partial ot ... stock market feed within the PHP Language forums, part of the PHP Programming Forums category; I'm looking to add a page to my site where I can get stock quotes for the wired, but ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
I'm looking to add a page to my site where I can get stock quotes for the
wired, but more importantly, the wireless web(ie my cell phone). I know how write the needed php and WAP application, I just don't know where to get the stock market feed, at least not without parsing a finance.yahoo.com page. Or something else like it that could change at any time. I'm looking for just the raw data feed. Anyone ever had to do this and can give me some info on a feed?????? -- Chris Mosser |
|
|||
|
"Chris Mosser" <cmosser_at_comcast_dot_net> wrote:
> I'm looking to add a page to my site where I can get stock quotes for the > wired, but more importantly, the wireless web(ie my cell phone). I know > how write the needed php and WAP application, I just don't know where to > get the stock market feed, at least not without parsing a > finance.yahoo.com page. > Or something else like it that could change at any time. I'm looking for > just the raw data feed. Anyone ever had to do this and can give me some > info on a feed?????? > > -- > Chris Mosser Hi I just wrote a bunch of them. :P You CAN use Yahoo without parsing the HTML. Use their http://quote.yahoo.com/download/quotes.csv Here follows a clumsy script to get you going: (sorry, I think I exceed linelength, you have to repair by hand) Regards, Erwin Moller function getAllQuotes($symbolsarray) { // returns an array with arrays with data $allQuotes = array(); $baseurl = "http://quote.yahoo.com/download/quotes.csv?format=snlx&ext=.csv&symbols="; // make the symbols urlencoded. $urlsymbols = urlencode(implode(" ",$symbolsarray)); $quotesURL = $baseurl.$urlsymbols; $csv = file($quotesURL); foreach ($csv as $line_num => $line) { // if NOT exists format: "^AEX2","^AEX2", "N/A - <b>0.00</b>", "N/A" // if exists format: "^AEX" ,"AEX-Index","7:37 am - <b>326.71</b>", "Amsterdam" // "AHOc.BA","ROYAL AHOLD","Aug 28, 2002 - <b>16.435</b>","Buenos Aires" // "MSFT.AS","MICROSOFT CORP","Oct 20 - <b>27.82</b>","Amsterdam" // Please not the , in the date of AHOc.BA // shame I don't know a better value for the 'format' in the baseurl. :-( // split on "," $parts = explode("\",\"",$line); $oneQuote = array(); $oneQuote["symbol"] = trim(trim($parts[0]) , "\""); $oneQuote["name"] = trim(trim($parts[1]) , "\""); $oneQuote["place"] = trim(trim($parts[3]) , "\""); $val = trim($parts[2] , "\""); // remove all before <b> and remove the last </b> // remove 6:30am - <b> $val = substr($val, strpos($val, "<b>")+3) ; // remove </b> $val = substr($val , 0 , -4) ; $oneQuote["value"] = $val; // add to allQuotes $allQuotes[$oneQuote["symbol"]] = $oneQuote; } return $allQuotes; } |